是什麼定義這樣定義AngularJS控制器參數
app.controller('MyCtrl', ['$scope', '$http',
function ($scope, $http) {
//...
}
]);
或該控制器之間的區別?
app.controller('MyCtrl', function ($scope, $http) {
//...
});
是什麼定義這樣定義AngularJS控制器參數
app.controller('MyCtrl', ['$scope', '$http',
function ($scope, $http) {
//...
}
]);
或該控制器之間的區別?
app.controller('MyCtrl', function ($scope, $http) {
//...
});
第一種選擇是'安全的縮小'。
欲瞭解更多信息,請參見這裏https://docs.angularjs.org/tutorial/step_05#a-note-on-minification
不同的是,當代碼被放大傳遞不應該被改爲其他名稱的參數和進一步的代碼變成正確的,因爲我們可能注入的功能和其他有用的東西的構造,所以爲了避免我們採取論證作爲數組項,即在字符串中,以便它們在放大時匹配參數。
我有一個很好的報價從一個人
當你縮小JavaScript JavaScript的minifier替代名稱的局部變量,並用較短的名稱參數的 。然而, AngularJS使用的控制器功能,工廠, 服務和提供的參數名稱決定如何注入到他們的工廠 功能。如果名稱被改變,AngularJS不能注入 正確的對象。
爲了使您的AngularJS代碼微小的安全,您需要提供對象的名稱 注入的字符串。您在 連同需要注入值的函數包裝這些字符串數組。 這裏是一個AngularJS微小安全依賴注入
自己的例子:
app.controller('MyCtrl', ['$scope', '$http',
function ($scope, $http) {
//...
}
]);
第二個將無法正常運行如下。 – elclanrs 2014-10-27 20:10:12