angularjs controller的兩種寫法

在Angular中,Directive、Service、Filter、Controller都是以工廠方法的方式給出,而工廠方法的參數名對應着該工廠方法依賴的Service。如:數組

app.controller('wolrdCtrl', function($scope, $http){
    // ...
});

在上述的function執行以前,Angular Injector會生成一個$scope的實例和$http的實例,並傳入該方法。 若是你但願對JS進行壓縮處理,那麼參數名就可能發生變化,Angular Injector將不可以正確地注入依賴的Service。因而有另一種寫法:app

app.controller('wolrdCtrl', ['$scope', '$http', function($scope, $http){
    // ...
}]);

以字符串數組的形式來聲明依賴項,由於字符串常量不會被壓縮。spa

相關文章
相關標籤/搜索