2017-06-16 44 views
1

[值] =“ 无功” 可能有人向我解释什么是= “{{VAR}} ”和AngularJS

value="{{var}}" vs [value]="var" 

感谢之间的差异。

+2

第一个看起来类似于angular中的模板化,其中var将是大括号中的get被替换的值,第二个看起来很奇怪,至多我可以在声明中将它看作对象的命名属性,但是,更多的上下文可以做奇迹;) – Icepickle

+1

https://angular.io/guide/template-syntax#a-new-mental-model – cartant

+1

当我使用第一个我在我的代码中有一些问题。 ngSelected无法正常工作。所以我想看看两者如何在后端工作的解释。无论如何感谢 –

回答

1

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

2种托架类型表示数据流的2个不同的方向。

[靶标] =“表达”,是说大声为“绑定目标”和(目标)=“语句”为“目标”

结合靶,结合您的JavaScript模型视图。

on target,随着视图的变化引发一个事件到你的JavaScript模型。

您可以将它们组合起来以创建绑定目标,这样做既可以。

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

值= “{{VAR}}” 是一个内插的结合。它的使用方式与[attr.value] =“var”

具有这些细微的差异。

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

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

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

我建议坚持使用属性绑定语法[value] = "var",因为它可以让您使用2种不同的定向绑定,而无需太多的精力开销。

+0

谢谢。我在使用value =“{{var}}”时遇到了一些麻烦.. –

+0

很抱歉,大量的编辑。我的角度有点生疏,所以我正在验证信息。 –