【发布时间】:2014-03-15 12:00:46
【问题描述】:
这是怎么回事?
这是我的指令:
// template <input ng-model="theModel" />
app.directive('bseInput', function () {
return {
templateUrl: "/Scripts/bse/bse-inputs.html",
scope:
{
theModel: '=',
},
compile: function compile(tElement, tAttrs, transclude) {
// do stuff
}
};
});
app.directive('submitRequired', function (objSvc) {
return {
require: 'ngModel',
link: function (scope, elm, attrs, ctrl) {
// do something
}
};
});
以下是使用中的指令示例:
<input bse-input submit-required="true" the-model="someModel"></input>
这是实际的错误文本:
错误:[$compile:ctreq] 控制器“ngModel”,指令“submitRequired”需要,找不到! http://errors.angularjs.org/1.2.2/$compile/ctreq?p0=ngModel&p1=submitRequired 在http://www.domain.ca/Scripts/angular/angular.js:78:12 在 getControllers (http://www.domain.ca/Scripts/angular/angular.js:5972:19) 在 nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6139:35) 在compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15) 在 nodeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:6132:24) 在compositeLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5550:15) 在 publicLinkFn (http://www.domain.ca/Scripts/angular/angular.js:5458:30) 在http://www.domain.ca/Scripts/angular/angular.js:1299:27 在 Scope.$get.Scope.$eval (http://www.domain.ca/Scripts/angular/angular.js:11634:28) 在 Scope.$get.Scope.$apply (http://www.domain.ca/Scripts/angular/angular.js:11734:23) angular.js:9159 (匿名函数)angular.js:9159 $get angular.js:6751 nodeLinkFn angular.js:6141 复合链接Fn angular.js:5550 nodeLinkFn angular.js:6132 复合链接Fn angular.js:5550 publicLinkFn angular.js:5458 (匿名函数)angular.js:1299 $get.Scope.$eval angular.js:11634 $get.Scope.$apply angular.js:11734 (匿名函数)angular.js:1297 调用 angular.js:3633 doBootstrap angular.js:1295 引导 angular.js:1309 angularInit angular.js:1258 (匿名函数)angular.js:20210 触发 angular.js:2315 (匿名函数)angular.js:2579 forEach angular.js:300 eventHandler angular.js:2578ar.js:7874
【问题讨论】: