价值之间的差异=" {{var}}"和[value] =" var"在AngularJS中

时间:2017-06-16 00:37:03

标签: javascript angularjs angular2-directives

有人可以向我解释

之间有什么区别
value="{{var}}" vs [value]="var"

感谢。

1 个答案:

答案 0 :(得分:1)

根据https://angular.io/guide/template-syntax#a-new-mental-model

2个括号类型代表2个不同的数据流方向。

[target] =“表达”大声称为“绑定目标”,(目标)=“声明”称为“目标”

绑定目标,将您的JavaScript模型绑定到您的视图。

在目标上,将视图更改时的事件引发到您的JavaScript模型。

你可以将它们组合起来创建绑定目标,这两者都可以。

https://angular.io/guide/template-syntax#property-binding-or-interpolation

value =“{{var}}”是一个插值绑定。它的使用方法与[attr.value] =“var”

相同

存在这些细微差别。

value =“{{var}}”或在html节点内容中使用{{}},仅适用于字符串。

{{}}存在于角度中的事实意味着他们需要做更多的工作处理模板,但由于这项工作已经沉没,您可以随意使用{{}},使其更有意义并提高可读性性能受到很大影响。

如果需要绑定到非字符串属性,则需要使用属性绑定语法。

我建议坚持使用属性绑定语法[value] = "var",因为它允许您使用2个不同的方向绑定,而不会有太多的心理开销。