动态禁用ng-model

时间:2016-01-11 15:33:38

标签: javascript jquery angularjs

我用

多次复制相同的模板
<div ng-repeat="template in templates track by $index">
 <script type="text/ng-template" id="general">
  <section ui-view="general"></section>
 </script>
</div>

所以,当我将下一个模板添加到我的页面时,我的输入上使用相同的ng-model绑定,我试图找到一种方法,不要让同一模板中的前面板更改其值,因为最新模板上的新值。更像是禁用所有先前面板的输入,以便只有最新的模板才能动态呈现值。最好的方法是什么?

我试过了       NG-禁用= field_state

在多个函数之间使用状态在true和false之间切换。但这并不像我预期的那样有效。

2 个答案:

答案 0 :(得分:2)

你可以做两件事:

  1. 将您的input模型绑定到模板的索引 <input type="text" id="myInput_{{$index}}" ng-model="repeatedInput.val">Fiddle),或
  2. ng-repeat内创建指令,其中包含input指令创建自己的范围)( Fiddle

  3. Learn about ngRepeat
    Learn about directives

答案 1 :(得分:1)

很抱歉,如果我误解了这个问题。您是否只想启用最后一个模板,并禁用所有其他模板?如果是,您可以使用div包装脚本标记。

{{1}}