【问题标题】:dynamically setting the ng-model in a directive在指令中动态设置 ng-model
【发布时间】:2016-02-18 23:43:04
【问题描述】:

我有以下指令模板

<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...使用表达式为 ng-model 创建名称,但其他人似乎让它以另一种方式工作?

另外,如果您看到我在指令选项中创建了一个隔离范围,但在控制器的范围中设置了“属性”对象?这怎么可能?

任何帮助都非常感谢这已经困扰了几天了。

谢谢, 标记。

【问题讨论】:

  • 在您的模板中找不到“实体形式”指令。忘了说?

标签: dynamic directive angular-ngmodel


【解决方案1】:

我能够按照 hgcrpd 在此处AngularJS - Modular forms with directivesAngularJS - Modular forms with directives的回答中提供的建议进行此操作

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

谢谢, 标记。

【讨论】:

    猜你喜欢
    • 2015-05-05
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多