Динамическая установка ng-модели в директиву

У меня есть следующий шаблон директивы

<section ng-controller="EntityController">
<h1>{{entityName}}</h1>

<div ng-repeat="(key,value) in properties">
    <div>
      <label for="{{key}}">{{key}}</label>
    </div>

    <div>
          <input id="{{key}}" type="text" class="form-control focus" 
                name="{{key}}" placeholder="{{key}}" autocomplete="off" 
                required ng-model="newEntity.{{key}}">
    </div>
</div>

</section>

и вот директива, которая прикреплена к контроллеру

.directive('entityForm', function () {
    return {
      restrict: 'E',
      scope: {
        modelName: '=entityForm'
      },
      templateUrl: 'views/league/create-entity.directive-form.view.html'
    };
  });

Главный вопрос, который у меня есть, заключается в том, что каждая из привязок {{key}} в шаблоне соответствует правильному значению, КРОМЕ для ng-модели... Я читал в нескольких местах, которые вы не можете использовать для выражения создать имя для ng-модели, но другие, кажется, работают по-другому?

Также, если вы посмотрите, я создаю изолированную область видимости в параметрах директивы, но объект "свойства" установлен в области видимости в контроллере? Как это возможно?

Любая помощь очень ценится, это зашло в тупик на несколько дней.

Спасибо, Марк.

1 ответ

Я смог заставить это работать, следуя совету, предоставленному hgcrpd в его ответе здесь AngularJS - Модульные формы с директивами

По сути, я создал ng-модель, используя функцию связи, которая динамически генерировала HTML для шаблона в логике директивы. Также я должен был инициализировать объект, который будет представлен в контроллере, иначе Angular не узнает об этом, и информация не была опубликована.

Спасибо, Марк.

Другие вопросы по тегам