Динамическая установка 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 не узнает об этом, и информация не была опубликована.
Спасибо, Марк.