我的AngularJS模块包含我需要在.config()以及多个控制器中使用的变量。
寻找一种方法将变量/常量附加到模块,可以从config()/ controller()/ run()处理,而且操作简单。我试过......
丑陋的代码示例,使用常量:
angular.module('mod.boat_groups', ["pennantapp"])
.constant('REST_base', 'boat_groups')
.constant('list_name', 'boat_groups')
.constant('item_name', 'boat_group')
.config(['$stateProvider', 'list_name', 'item_name',
function($stateProvider, list_name, item_name) {
'use strict';
$stateProvider
.state( list_name , {
url: '/'+list_name,
views: {
'main': {
templateUrl: 'app/mod/'+list_name+'/bg.tpl.html',
controller: 'BoatGroupsViewCtrl as ctrl' }
}
})
.state( item_name + '_view', {
url: '/'+list_name+'/:id/view',
views: {
'navbar': {
templateUrl: 'app/app-navbar.tpl.html'
},
'main': {
templateUrl: 'app/mod/'+list_name+'/bg-view.tpl.html',
controller: 'BoatGroupCtrl as ctrl' }
}
})...
angular.module('mod.boat_groups')
.controller('BoatGroupsViewCtrl', ['Restangular', 'REST_base', '$location', 'authenticationService',
function(Restangular, REST_base, $location, authenticationService) {
'use strict';
var self = this;
self.restangular = Restangular.all(REST_base)
...
}]);
angular.module('mod.boat_groups')
.controller('BoatGroupCtrl', ['Restangular', 'REST_base', 'list_name', '$location', 'authenticationService', '$stateParams',
function(Restangular, REST_base, list_name, $location, authenticationService, $stateParams) {
'use strict';
var self = this;
self.restangular = Restangular.all(REST_base)
...
一些类似的问题......