【发布时间】:2017-05-17 18:26:42
【问题描述】:
在 AngularJS 中,您可以在指令中指定 @(而不是 =)以绑定到纯文本。因此,对于 field: '@',您可以使用以下 HTML 将 scope.field 值设置为字符串 "Hello, World":
<my-tag field="Hello, World" />
在 Angular 2 中,我目前正在执行以下操作:
<my-tag [field]="'Hello, World'" />
注意双引号内的单引号。 Angular 2 期望属性的内容是一个表达式。
我想知道是否有一种速记方式将属性值视为纯文本?这将有助于避免我一直犯的忘记引号的错误。
【问题讨论】:
-
您仍然可以使用第一个版本。主要区别是第一个会被添加到 DOM 中,而第二个会被转换为 JS 并且在 DOM 中不可见。
-
如果你使用
field="Hello, World"? -
那么,去掉括号(
[])?让我试一试。 -
哇,是的,这很有效。根据文档,我不知道您可以这样做。
-
好吧,它可能不像白天那么清楚,但它在文档中;-) 您可以在 One-time string initialization 部分的Template Syntax 下找到它。