我在Angular中遇到类问题。当我尝试为控制器创建某个类时,出现此错误:
Error: [$injector:unpr] Unknown provider: _at_$scopeProvider <- _at_$scope <- MainController
班级代码:
class MainController
constructor: (@$scope, @$log) ->
@timestamp = Date.now() - 900000
angular
.module 'app'
.controller 'MainController', MainController
结果,我有这个:
(function() {
var MainController;
MainController = (function() {
function MainController(_at_$scope, _at_$log) {
this.$scope = _at_$scope;
this.$log = _at_$log;
this.timestamp = Date.now() - 900000;
}
return MainController;
})();
angular.module('app').controller('MainController', MainController);
}).call(this);
怎么了?
您更新到了咖啡版本1.9。属性参数的命名存在不兼容的更改。看到我对另一个问题的回答,它会影响您。由于使用的是角度,因此可以使用数组符号进行注入。如果您想缩小/缩小代码,这是无论如何正确进行注入的唯一方法,因此,我建议始终这样做。
像这样:
class MainController
constructor: (@$scope, @$log) ->
@timestamp = Date.now() - 900000
angular
.module 'app'
.controller 'MainController', ['$scope', '$log', MainController]
或像这样:
MainCtrlWithInjects = ['$scope', '$log',
class MainController
constructor: (@$scope, @$log) ->
@timestamp = Date.now() - 900000
]
angular
.module 'app'
.controller 'MainController', MainCtrlWithInjects
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句