run
方法接受一個能注入"service", "value" and "constant"做爲依賴的函數,注意不能注入"providers"到 run
代碼塊裏;config
方法接受一個能注入"provider" and "constant" 組件做爲依賴的函數,注意不能注入"service" or "value"到配置項裏。使用factory function定義一個directive, service, or filter。factory方法註冊的是一個模塊。如下是推薦聲明factory方法的方式:數組
angular.module('myModule', []) .factory('serviceId', ['depService', function(depService) { // ... }]) .directive('directiveName', ['depService', function(depService) { // ... }]) .filter('filterName', ['depService', function(depService) { // ... }]);
經過調用config
和run
方法指定函數運行配置和運行時模塊。這些函數都是可注入依賴的就像上面factory函數那樣。ide
angular.module('myModule', []) .config(['depProvider', function(depProvider) { // ... }]) .run(['depService', function(depService) { // ... }]);
控制器是「類」或「構造函數」,負責提供在模板中支持聲明性標記的應用程序行爲。推薦使用數組表示法來聲明控制器:函數
someModule.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) { ... $scope.aMethod = function() { ... } ... }]);
與services不一樣,在應用程序中能夠有許多相同類型的控制器的實例。spa
並且,額外的依賴在控制器也是可用的:code
$scope
: 控制器與DOM元素密切相關所以能夠訪問scope。其餘像services的組件只能訪問$rootScope;