AngularJS中单向与双向绑定的性能

时间:2014-11-11 01:36:03

标签: angularjs

我正在制作一本地址簿。除基本联系人详细信息外,每个联系人还有一个roles字段,该字段本身是一组不同的角色。它们的字段为permissions,字段为certifications

我的地址簿设计就像普通的2面板设计;左边是所有名字的列表。选择联系人时,详细信息显示在右侧:

<div addressbook>
    <!-- This is the list of names -->
    <div list>

    <!-- This is the selected contact -->
    <div contact>

理想情况下,我想使用单向绑定将列表传递给list。然后,所选联系人是addressbooklist之间的双向绑定以及与contact的单向绑定:

<div addressbook>
    <!-- This is the list of names -->
    <div list="{{ list }}" selected-contact="contact">

    <!-- This is the selected contact -->
    <div contact="{{ contact }}">

如果我将list作为单向绑定传递,我恐怕app会运行缓慢,因为{{list}}变成了一个非常长的字符串,需要稍后解析为JSON。我觉得双向绑定会更快!

这是真的吗?如果保持代码原样,我会遇到任何性能问题吗?

1 个答案:

答案 0 :(得分:0)

在指令上下文中,将@=视为"bind to value of a DOM attribute" and "bind to the value of a scope property"更有帮助,而不是将其视为单向或双向。

@适用于将短字符串或数字等普通值传递给指令。当您需要在指令中引用的实际JavaScript对象(您的list)之类的非平凡内容时,请将其与=绑定。