Pab*_*ney 3 javascript angularjs
我发现在更新 rowIndex 后 ng-init 没有更新。
<div ng-init="item = getItem(rowIndex)">
{{ item.Name }}
</div>
Run Code Online (Sandbox Code Playgroud)
更改 rowIndex 后不会更新项目(即使使用 $timeout 进行更改)
是否有其他指令可以避免使用以下肮脏的技巧:
<div ng-repeat="item in [getItem(rowIndex)]">
{{ item.Name }}
</div>
Run Code Online (Sandbox Code Playgroud)
另一种方法是在虚假属性中设置变量:
<div x="{{item = getItem(rowIndex)}}">
{{ item.Name }} {{item.Value}}
</div>
Run Code Online (Sandbox Code Playgroud)
在每个摘要周期中, 的值item都会更新。
在这种item具有多个属性的情况下,该getItem函数只需要调用一次。
请记住,控制器item在rowIndex更改时仅更新一次值而不是在getItem每个摘要周期调用函数会更有效。
ng-init避免使用ng-init. 它将模型和视图纠缠在一起,使代码难以理解、测试、调试和维护。而是在控制器中初始化模型。
从文档:
初始化
可以滥用此指令将不必要的逻辑量添加到您的模板中。的只有少数合适的用途
ngInit,例如为 的特殊属性设置别名ngRepeat,如下面的演示所示;以及通过服务器端脚本注入数据。除了这几种情况之外,您应该使用控制器而不是ngInit在范围上初始化值。
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |