Angularjs指令性能-传递数组与传递单个对象

时间:2018-09-18 02:40:39

标签: javascript angularjs

明智地,最好将单个对象传递给这样的指令

<div ng-repeat="user in users">
  <user-info user="user"></user-info>
</div>

// user-info directive
<div>
  <span>{{ user.username }}</span><br>
  <span>{{ user.email }}</span>
</div>

或将整个数组传递给单个指令:

<user-list users="users"></user-list>

// user-list directive

<div ng-repeat="user in users">
  <span>{{ user.username }}</span><br>
  <span>{{ user.email }}</span>
</div>

我想第二个选择会是一个更好的主意,因为不会为数组中的每个项目调用指令的方法

感谢您的输入!

1 个答案:

答案 0 :(得分:2)

Definitely 是后者,因为每次迭代用户时都不必 render 元素。

当您有更多观察者(负责处理数据绑定)时,Angularjs开始出现性能问题。减少数据绑定的数量肯定会有所帮助。