对不起,如果这是一个菜鸟问题:谁能告诉我,为什么会这样?
angular.module('myApp', []);
angular.module('myApp').value('someConst', 'some value');
angular.module('myApp')
.directive('wdget', ["someConst"] // all OK here, value service injected OK
, function (c) {
console.log(c)
}
而这不是:
angular.module('myApp', []);
angular.module('widgetModule', ['myApp'])
.controller('widgetCtrl', function ()
{
angular.module('myApp').value('someConst', 'some value');
}
angular.module('myApp')
.directive('wdget', ["someConst"] // throws: Error: $injector:unpr Unknown Provider
, function (c) {
console.log(c)
}
在此代码段中,最后一行抛出:错误:$ injector:unpr未知提供商
基本上,不同之处在于我在不同模块的控制器中定义了值服务 someConst 。我这样做,因为我实际上是将值服务设置为此控制器中可用的值。
答案 0 :(得分:0)
否,您无法在控制器内声明模块。相反,您可以定义常量/值并在控制器内更改它。