有人可以向我解释一下
value="{{var}}" vs [value]="var"
谢谢。
最佳答案
根据https://angular.io/guide/template-syntax#a-new-mental-model
2种括号类型表示2种不同的数据流向。
[target] =“ expression”被大声说成“ bind target”,而(target)=“ statement”被说成“ on target”
绑定目标,将您的JavaScript模型绑定到您的视图。
在目标上,在视图更改时引发一个事件到您的JavaScript模型。
您可以将它们组合在一起以创建绑定目标,而这两者都可以。
https://angular.io/guide/template-syntax#property-binding-or-interpolation
value =“ {{var}}”是一个插值绑定。可以与[attr.value] =“ var”相同的方式使用
与这些细微的差异。
value =“ {{var}}”或在html节点内容内使用{{}},仅适用于字符串。
{{}}存在于角度中这一事实意味着他们需要做更多的工作处理模板,但是由于这项工作已经沉没,您可以随意使用{{}},因为这样做更加有意义并提高了可读性,而没有太多的变化。性能受到打击。
如果需要绑定到非字符串属性,则需要使用属性绑定语法。
我建议坚持使用属性绑定语法[value] = "var"
,因为它将允许您使用2种不同的方向绑定,而不会花费太多的精力。
关于javascript - AngularJS中value =“{{var}}”和[value] =“var”之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44579028/