var app = angular.module('app',['ngPlugin']);
app.controller('frontTourism',['$scope','$http','stModal','$timeout','ngSubmit','alert',function(){/*省略*/}])
'$scope','$http','stModal','$timeout','ngSubmit','alert' 這些有什麼用?
过去多啦不再A梦2017-05-15 17:06:50
依賴注入的意思,我就說詳細點吧。
一個物件通常有三種方式可以獲得對其依賴的控制權:
(1) 在內部建立依賴;
(2) 透過全域變數進行引用;
(3) 在需要的地方透過參數傳遞。
Angular的依賴注入是透過第三種方式實現的。其餘兩種方式會帶來各種問題,例如污染全域作用域,使隔離變得異常困難等。
從功能來看,依賴注入會事先自動尋找依賴關係,並將注入目標告知被依賴的資源,這樣就可以在目標需要時立即將資源注入進去。
Angular有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種。