我有这个指令:
directive('myDirective',
function() {
return {
restrict: 'EA',
scope: {
params: '=ngModel'
},
//template: '',
templateUrl: '/myTemplate.html',
controller: 'myController',
link: function(scope, iElement, iAttrs, ngModel) {
// code..
}
};
}
);
但是当我使用此指令时,我在控制台中收到以下错误: $ compile:ctreq,带有指向以下消息的超链接: 缺少必需的控制器 组件$ compile中的错误 无法找到指令'myDirective'所需的控制器'ngModel'!
如果我使用“template”而不是“templateUrl”,则错误消失,我不想使用“模板”。 这似乎是一个已知问题:https://github.com/angular/angular.js/issues/4603
有人可以建议解决方法吗? 编辑:我正在使用ngModel,因为我想要双向绑定
答案 0 :(得分:0)
如果您想将参数传递给指令,您可以这样做 - 您在问题中所拥有的内容对我来说并不合适。
<div my-directive my-param="foo"></div>
directive('myDirective',
function() {
return {
restrict: 'EA',
scope: {
myParam: '='
},
//template: '',
templateUrl: '/myTemplate.html',
controller: 'myController',
link: function(scope, iElement, iAttrs, ngModel) {
scope.myParam...
}
};
}
);