【发布时间】:2016-08-11 10:54:21
【问题描述】:
在我的 Angular 项目中,我更喜欢使用单向绑定来实现这样的性能
<div>
<p ng-bind="::vm.user.name"></p>
<p ng-bind="::vm.user.email"></p>
<!-- other bindings -->
</div>
但是当视图项发生变化时,必须重新渲染 DOM 以显示新值。所以我为此使用 ng-if。所以看起来像
<div ng-if="vm.user">
<p ng-bind="::vm.user.name"></p>
<p ng-bind="::vm.user.email"></p>
<!-- other bindings -->
</div>
为了重新渲染 DOM,我使用了一个函数
function updateUser(user){
vm.user = null;
$timeout(function(){
vm.user = user;
});
}
此渲染方法有效,但每次更新项目都会产生渲染成本。另一种方法是使用不带 ng-if 的双向绑定,但这种绑定会创建观察者并导致性能问题。
<div>
<p ng-bind="vm.user.name"></p>
<p ng-bind="vm.user.email"></p>
<!-- other bindings -->
</div>
我无法在两种方法之间做出决定。哪一个是最好的表现?感谢您的帮助。
【问题讨论】:
标签: angularjs