>我通常像这样进行属性绑定:
<a [href]="myHref">Link</a>
(其中myHref
是我的组件类中的一个属性。
但我也见过
<a href="{{myHref}}">Link</a>
在 Angular 网站上。 我明白。
但我也看到了这个:
<a href={{myHref}}>Link</a>
(不带引号(。
它有效,但我在任何地方都看不到 Angular 网站上使用的确切语法。 允许吗?
HTML属性可以在没有引号的情况下完成。我认为这与角度无关。
规格 说
属性放置在开始标记内,由名称和 一个值,用 = 字符分隔。属性值可以保留 如果不包含空格或" ' ' =<或>中的任何一个,则不加引号。 否则,必须使用单引号或双引号引用。 如果出现以下情况,则可以完全省略该值以及 = 字符 该值为空字符串。或>
<a href=http://google.com >Google</a>
来自 Angular 文档
在许多方面,插值是属性绑定的便捷替代方法 例。
将数据值呈现为字符串时,没有技术原因 更喜欢一种形式而不是另一种形式。你倾向于可读性,这倾向于 有利于插值。您建议建立编码样式规则 并选择既符合规则又感觉最强的形式 对于手头的任务来说很自然。
将元素属性设置为非字符串数据值时,必须 使用属性绑定。