ng-repeat中的angularjs ng-init json变量

时间:2018-06-25 15:03:57

标签: angularjs

我有一个遍历json数组的ng-repeat循环。该数组是通过$ http获取的。在该循环中,我想向比较旧值/更改值时方便使用的json对象添加一些变量。

<li class="machine" ng-repeat="machine in machines>
 ....
  <input id="machine-host" ng-model="machine.host"
  ng-init="machine.editHostDisabled=true;machine.originalHost=machine.host"/>
......
</li>

我在angularjs文档上读到,不允许或“不应”使用ng-init。但是,这里不使用此指令似乎很奇怪。上面的代码干净,容易。 是的,我可以在控制器中进行设置,但是然后我需要遍历机器的json数组并在循环中设置值。似乎太麻烦了。

  

此指令可能被滥用以向模板中添加不必要的逻辑量。 ngInit只有几种适当的用法:   别名ngRepeat的特殊属性,如下面的演示所示。   在开发过程中初始化数据,或例如在这些文档中看到的那样。   通过服务器端脚本注入数据。   除了这几种情况,您应该使用“组件”或“控制器”而不是ngInit来初始化作用域上的值。

     

— AngularJS ng-init Directive API Reference - Overview

我当然知道扩展功能会给这里带来问题。但是这简单的代码行...?

此外,我在网络上看到了许多示例的当前工作方式。

这里要遵循什么规则?在ng-init中添加控制器功能吗?但这是同一回事吗?还是上面的代码很好?

0 个答案:

没有答案