我有一个我一直在努力的角度 - 全栈项目。一切都运转正常,直到我试图做出指示。起初我认为我的指令过于复杂,但我已经尝试过库存,生成指令,但我仍然遇到同样的错误。
指令在这里:
'use strict';
angular.module('angularApp')
.directive('test', function () {
return {
templateUrl: 'app/test/test.html',
restrict: 'EA',
link: function (scope, element, attrs) {
}
};
});
我在main.js
中注入它'use strict';
angular.module('angularApp')
.controller('MainCtrl', function ($scope, $http, socket, characterService, test) {
$scope.path = new Array();
$scope.heroes = new Array();
characterService.all().success(function(data) {
$scope.heroes = data;
});
});
只要我在注入的东西列表中没有测试,一切正常,但是如果它在那里,我得到错误。
angular.js:11607错误:[$ injector:unpr]未知提供者:testProvider< - test< - MainCtrl
我还需要添加其他地方吗?我已经尝试将它添加到依赖项列表中,如下所示:
angular.module('angularApp')
.controller('MainCtrl', ['test', function ($scope, $http, socket, characterService, test)
...
但这似乎没有任何区别。
答案 0 :(得分:2)
在...控制器中注入指令有什么意义?
它完全没有意义,因为指令旨在构建一个新的HTML属性/标记:
<test></test>
例如。
此外,指令可以在其实现中定义/使用控制器 不要混淆整体;)