在指令

时间:2016-02-14 22:37:37

标签: dynamic directive angular-ngmodel

我有以下指令模板

<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-model的正确值...我已经在很多地方读过你可以& #39; t使用表达式为ng-model创建名称,但是其他人似乎让它以另一种方式工作?

另外,如果你看起来我在指令选项中创建一个孤立的范围,那么&#39;属性&#39;对象是在控制器的范围内设置的?这怎么可能?

任何帮助都非常感谢,这已经难倒了好几天了。

谢谢, 标记

1 个答案:

答案 0 :(得分:0)

我能按照hgcrpd在他的回答中提供的建议AngularJS - Modular forms with directives

开始工作

基本上我使用链接函数创建了ng-model,该函数在指令逻辑中动态生成模板的html。此外,我必须初始化将在控制器内提交的对象,否则Angular将不知道它并且信息未被发布。

谢谢, 标记