我有一個元素指令和屬性的指令:如何從AngularJS中的元素指令中刪除屬性指令?
<my-element my-attribute="value"></my-element>
我的屬性是需要ngModel一個指令:
app.directive('myAttribute', [
function() {
var definition = {
restrict: 'A',
require: 'ngModel',
link: function ($scope, $element, $attrs, ctrl) {...}
}
return definition;
我的元素可以在沒有NG-模型,但的模板中使用my-element包含總是具有ng-model的輸入。我的屬性應該從我的元素中刪除,並添加到我的元素內的輸入。在我的my-element指令中的編譯函數中,我有:
var value = element.attr('my-attribute');
element.remove('my-attribute');
element.find('input').attr('my-attribute', value);
當屬性指令沒有require:'ngModel'時,它工作正常。但如果我需要ngModel,我會得到:
Error: [$compile:ctreq] Controller 'ngModel', required by directive 'myAttribute', can't be found!
爲什麼?我怎樣才能解決這個問題?
錯誤是相當明顯的或可能是我沒有得到的問題 – harishr 2015-04-01 13:26:34
我的屬性被我的元素從我的元素中刪除,並添加到我的元素中有輸入ngModel – latata 2015-04-01 13:28:59
,但即使在角度取代你的指令html ,它將驗證是否滿足require屬性...並且在那個時候,你的指令的屬性中沒有ng-model ...因此錯誤 – harishr 2015-04-01 13:30:51