使用我的自定義指令我想將ng模型從根指令移動到子元素輸入元素。出於某種原因,該模型不適用於子元素。下面是代碼在自定義指令中動態添加角度指令不起作用
標記:
<span usinglink ng-model="test">
<input type="checkbox" value="test" />
<span>{{test}}</span>
</span>
指令:
mymodule.directive('usinglink', function($compile){
return{
link : function(scope, element, attrs){
element.children('input').attr('ng-model',element.attr('ng-model'));
}
}
});
當我使用編譯,而不是鏈接這個確切的事情的作品。任何人都可以告訴這種行爲的原因和方式,我可以實現這種行爲使用鏈接。
omwmodule.directive('prNgDropdown', function ($compile) {
return {
compile : function (element, attributes) {
var selectElement = element;
if (element.attr("ng-model") != undefined) {
element.attr("ng-init", element.attr("ng-model") + "= '" + element.val() + "'");
}
//'Removing the directive after the logic.as the custom directive is placed on the same element. compile would create an infinit loop
//selectElement.removeAttr("pr-ng-dropdown");
//$compile(selectElement.parent())(scope);
}
}
});
由於某種原因,我的ng-init沒有更新model.Can你請解釋什麼是缺少的。
即使沒有'$ compile'也適用於我。我可以看到ng-model添加到輸入標籤。你的角度版是什麼?我是1.3.13 – Dinesh 2015-04-01 01:00:13
你怎麼能說ng-model正在工作。當複選框被選中/取消選中時。模型是否改變? – 2015-04-01 03:57:43
對不起: - (但如果你在問題陳述中更加明確,本來會更好,「不工作」通常沒有足夠清晰jimho ... – Dinesh 2015-04-01 04:55:14