#angularjs
#angularjs
Вопрос:
Мне нужно изменить модель преобразованного поля выбора изнутри директивы. Обычно я бы делал это с помощью require: '?ngModel'
, но это работает только в том случае, если директива in прикреплена к элементу в качестве атрибута, чего не может выполнить преобразование.
Ответ №1:
Преобразованный контент привязан к родительской области действия директивы.
Можно использовать ng-form
директиву, чтобы заключить преобразованные ngModelControllers и поместить эти контроллеры в область изоляции директивы.
<ng-form name="$ctrl.form1">
<fieldset>
Transcluded content<br>
<ng-transclude></transclude>
</fieldset>
</ng-form>
Затем можно использовать метод $setViewValue ngModelController:
controller: function() {
this.radioChange = function(val) {
console.log(val);
this.form1.sel1.$setViewValue(val);
this.form1.sel1.$render();
}
},