【发布时间】:2016-09-09 02:26:03
【问题描述】:
好吧,我在 StackOverFlow 中看到了几个与此相关的问题,但找不到正确的答案。
假设在我的 app.js 文件中,我定义了一个常量对象,它基本上具有控制器名称。当我使用“ui-router”时,我想将控制器附加到状态变化的视图。
app.js
var app = angular.module('myApp', ['ui.router']);
app.constant('CONTROLLER', {
ONE: 'ControllerOne',
TWO: 'ControllerTwo'
});
现在我想使用这些常量在其他文件中定义控制器名称,比如 controller.js。说明我尝试过但对我有用的几种方法。
controller.js
var app = angular.module('myApp', ['CONTROLLER']);
app.controller(CONTROLLER.ONE, ['$scope', 'myFactory', function ($scope, myFactory) {
$scope.result = myFactory.someAPI();
}]);
ERROR -> Uncaught ReferenceError: CONTROLLER is not defined
即使我尝试在 Controller 中注入那个常量模块,也会出现同样的错误。
var app = angular.module('myApp', ['CONTROLLER']);
app.controller(CONTROLLER.ONE, ['$scope', 'myFactory', 'CONTROLLER', function ($scope, myFactory, CONTROLLER) {
$scope.result = myFactory.someAPI();
}]);
我知道第二种方法是错误的。当我在我的主 app.js 文件中定义控制器名称并使用这些常量在状态更改期间将控制器附加到视图时。 我也想重用这些常量来定义控制器名称。
我可能做错了什么。有什么建议吗?
【问题讨论】:
标签: javascript angularjs angularjs-module