我有以下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);
}
};
});
然后我得到一个错误说&#34;控制器&#39; FooController&#39;,指令&#39; barDirective&#39;,无法找到&#34;。控制器不能以这种方式继承吗?我是否需要创建自己的包装器指令?
答案 0 :(得分:1)
require用于需要另一个指令并将其控制器作为第四个参数注入到链接函数,需要使用ngController指令
require: ['^ngController'],