Angular 1中是否存在单向绑定的性能优势

时间:2017-04-06 15:07:28

标签: angularjs

在阅读SELECT (name, id, points) FROM timer_achievements INNER JOIN timer_player_achievements ON timer_achievements.achievement_group = timer_player_achievements.achievement_group WHERE timer_achievements.activation_value <= timer_player_achievements.value AND timer_player_achievements.obtained = false AND timer_player_achievements.player_steamid = 'STEAM_1:0:78056913' GROUP BY timer_achievements.id; 样式的单向绑定时,我遇到了angular.component<产生较少观察者的多个陈述(=将有额外的观察者传播从孩子到父母的价值变化)。

但是我刚刚创建了一个虚拟组件,通过==将对象传递给它,并且观察者的数量是相同的。

严格说明绩效:<<之间是否存在差异?

1 个答案:

答案 0 :(得分:1)

我来到这里时遇到了同样的问题,很遗憾没有答案... 我有一个小型测试应用程序,其中使用了各种绑定,其中三种是单向绑定。我观察了手表数量(使用ng-stats utility),得到了42只。 我将这些"<"更改为"=",当然也相应地更改了我的应用的行为。 ng-stats仍报告42枚手表。
因此,至少就手表而言,这并没有改善性能。

我想这更多是为了方便,避免不必要的副作用(孩子更改值,父母的值不情愿地更改),并推广良好做法(使用绑定函数代替手表,如下所述)。

它仍然是避免监视的一种方法:当父母希望告知孩子更改时,通常的做法是使用双向绑定,对值设置监视并对更改做出反应。
另一种方法是设置单向绑定(为孩子提供食物),并提供回调(通过"&"绑定),从而让孩子通过此回调通知更改。
它更加主动,并且可以移除手表。