我需要从指令内部更改已嵌入选择框的模型。通常,我会使用require: '?ngModel'
来做到这一点,但这仅在元素上附加的伪指令作为无法包含的属性时才有效。
答案 0 :(得分:0)
已包含的内容绑定到指令的父作用域。
一个人可以使用ng-form
指令来封装被遮盖的ngModelControllers并将这些控制器放在该指令的独立范围内。
<ng-form name="$ctrl.form1">
<fieldset>
Transcluded content<br>
<ng-transclude></transclude>
</fieldset>
</ng-form>
然后可以使用ngModelController的$setViewValue方法:
controller: function() {
this.radioChange = function(val) {
console.log(val);
this.form1.sel1.$setViewValue(val);
this.form1.sel1.$render();
}
},