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 в области видимости не изменяется при изменении ввода.

Ответы на вопрос(2)

Ваш ответ на вопрос