1
我有這樣的指令:角JS缺少所需的控制器錯誤:控制器「ngModel」,通過指令要求無法找到
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'!
如果我使用「模板」而不是「templateUrl」,錯誤消失,我不想使用「模板」。 這似乎是一個已知的問題:https://github.com/angular/angular.js/issues/4603
任何人都可以請提出一個解決辦法? 編輯:我使用ngModel,因爲我想要雙向綁定
對不起,我應該提到,我想實現雙向綁定,因此我使用ngModel – user90766
我認爲這就是「=」應該這樣做,如果你有一個變量foo在你的父範圍內,如果應該更新如果更新了鏈接功能 – DavidC
DavidC,感謝您的澄清。我在對指令中的雙向綁定理解錯誤。我已經創建了一個jsfiddle來說明這一點,以防其他人有相同的問題:http://jsfiddle.net/A8362/2/ – user90766