有人可以向我解释
之间有什么区别value="{{var}}" vs [value]="var"
感谢。
答案 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个不同的方向绑定,而不会有太多的心理开销。