AngularJS - Можно ли изменить значение атрибута ngModel по директиве в ссылке или компиляции?
Я пытаюсь создать директиву, которая добавит атрибут ngModel в тег на основе значения атрибута. Например:
angular.module('myModule').
directive('myDirective', function() {
return {
link: function(scope, elem, attrs) {
var modelName = 'myPrefix.' + attrs.name;
attrs.$set('ngModel', modelName);
}
};
});
Так что это HTML:
<input name="foo" my-directive></input>
составлен в
<input name="foo" ng-model="myPrefix.foo" my-directive></input>
Он принимает имя ввода, присоединяет префикс и устанавливает для атрибута ngModel это значение.
Когда я пытаюсь сделать это в функции ссылки, кажется, чтоinput
не регистрируется с помощью formController, так чтоform.foo
возвращает неопределенное.
Можно ли выполнить то, что я пытаюсь сделать?
РЕДАКТИРОВАТЬ:
Кажется, чтоngModel
атрибут устанавливается в HTML, но он не регистрируется в форме, или не создается экземпляр ngModelController. Если я смотрю на значениеngModel
в области видимости не изменяется при изменении ввода.