【发布时间】:2015-06-05 18:31:24
【问题描述】:
我尝试“要求”一个父控制器(不是指令),但 AngularJS 返回一个异常。代码是这样的:
JS
app.controller("myController", function ($scole) {
...
});
app.directive("myDirective", function ($q) {
return {
require: "^myController",
template: "",
link: function (scope, element, attrs, myCtrl) {
...
}
};
});
HTML
<div ng-controller="myController as myCtrl">
...
<div my-directive>...</div>
...
</div>
错误
错误:[$compile:ctreq] 控制器“myController”,需要 指令“myDirective”,找不到!
为什么?
也许,require 属性必须引用 directive 的控制器?
谢谢
【问题讨论】:
-
require属性用于引用其他指令的控制器是正确的。 -
我曾怀疑过,但在官方文档中找不到任何可以确定的内容。谢谢亚历克斯。
标签: angularjs