ringa_lee
http://www.html-js.com/article/2956
首先看文檔
注意紅色部分,如果不用顯示指定參數的方式註入依賴,那麼當你minify程式碼時,那些變數名稱可能被替換,導致執行時間注入失敗
minify
這兩種都是依賴注入的方式,ng中的3種注入方式:a、推斷式註入app.controller('MyCtrl', function($scope) { });
b、標註式註入var myFunc=function($scope) { });myFunc.$inject = ['$scope'];app.controller('MyCtrl',myFunc);
c、內聯注入app.controller('MyCtrl', ['$scope', function($scope) {}]);
第1種是根據寫的參數名稱,如$scope,內部自己調用$inject把$scope進行依賴注入,如果在前端開發中使用壓縮工具,就會把$scope變成另外的字母了,就無法進行推斷了,而另外兩種方式你可以把function($scope)改成function(a)都沒關係;第2種要多寫一行程式碼;一般建議使用第3種。
http://www.html-js.com/article/2956
首先看文檔
注意紅色部分,如果不用顯示指定參數的方式註入依賴,那麼當你
minify
程式碼時,那些變數名稱可能被替換,導致執行時間注入失敗這兩種都是依賴注入的方式,
ng中的3種注入方式:
a、推斷式註入
app.controller('MyCtrl', function($scope) {
});
b、標註式註入
var myFunc=function($scope) {
});
myFunc.$inject = ['$scope'];
app.controller('MyCtrl',myFunc);
c、內聯注入
app.controller('MyCtrl', ['$scope', function($scope) {
}]);
第1種是根據寫的參數名稱,如$scope,內部自己調用$inject把$scope進行依賴注入,如果在前端開發中使用壓縮工具,就會把$scope變成另外的字母了,就無法進行推斷了,而另外兩種方式你可以把function($scope)改成function(a)都沒關係;
第2種要多寫一行程式碼;
一般建議使用第3種。