有人可以向我解释一下

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/

10-12 03:42
查看更多