0
我有以下AngularJS片段:需要从纳克控制器父控制器 - 由指令所要求的控制器无法找到
<div ng-controller="FooController as fooCtrl">
<bar-directive></bar-directive>
</div>
而对于bar-directive
指令看起来类似:
angular.module("Foo").directive('barDirective', function() {
return {
restrict: 'E',
require: ['^FooController'],
link: function (scope, element, attrs, controllers) {
console.log(controllers);
}
};
});
然后我得到一个错误,指出“指令'barDirective'所需的”Controller'FooController'无法找到“。控制器不能被这种方式继承吗?我是否需要创建自己的包装指令?
在你的'NG-controller'你说'FooController的作为fooCtrl'。所以在你的指令中你应该要求'fooCtrl'而不是'FooController'。 – Pepijn
我得到了同样的错误,即使这种情况不是非常容易重用 - 是否有一个原因,它不检查连接到父元素的正确“类型”的控制器,而不是按名称? –