我是Angular初学者,在学习中有个关于定义控制器的写法问题。
在刚接触的时候,书上是这样写控制的:
var myApp = angular.module('MyApp', []);
myApp.controller('MyController', function($scope){
// todo...
})
后来在一些网络上的文章,是这样写的:
var myApp = angular.module('MyApp', []);
myApp.controller('MyController', ['$scope', function($scope){
// todo...
}]);
那么问题来了,后者加了个[]
,是个什么意思?这两种写法有什么不同呢?
在练习中发现同样的实现用这两种都可以。
Cara penulisan kedua dipanggil
inline-annotation
, lihat dokumen Suntikan KetergantunganTujuan utama kaedah penulisan ini adalah untuk mengelakkan masalah nama pembolehubah diganti semasa pemampatan kod sumber (uglify), menyebabkan suntikan kebergantungan gagal.
Jika anda berminat dengan pelaksanaan, anda boleh melihat suntikan pergantungan tulisan tangan
ialah kebergantungan untuk disuntik. Cara penulisan ini sesuai untuk pemampatan kod masa hadapan