在ES6中,有模板字符串功能,也就是说,我们可以像这样形成/连接字符串(带反引号)
var name = 'John';
var intro = `My name is ${name}`;

在Angular 2 Component Template中,我们使用插值的双花括号,我们可以使用它来插入变量中的值。
@Component({
selector: 'selector-test-tag',
template: `
<div>
<p>My name is ${name}</p>
<p>My name is {{name}}</p>
</div>
`
})
export class Test {
name: string;
}
问题:为什么选择一个而不是另一个?
答案 0 :(得分:17)
他们是不同的东西:
正如您所知, ${}
用作模板字符串中的占位符。这些模板字符串与Angular的模板不同,您不应在Angular 2模板中使用${}
。对于初学者来说,如果将模板移动到外部文件,它将无法工作。
{{}}
是Angular的插值语法,它是您想要在Angular 2模板中使用的内容。您可以在组件类中定义属性或方法,并在组件的模板中使用{{}}
来插入该属性的值或调用该方法。您还可以使用表达式({{a + b / 2}}
)和管道({{title | uppercase}}
)。
一些资源:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
https://angular.io/docs/ts/latest/guide/template-syntax.html#!#interpolation
祝你好运!答案 1 :(得分:5)
Angular表达式{{ }}
创建一个由angular管理的绑定,其中angular自动监视属性的更改,并可以在运行时更改属性的值,而ES6模板方法在第一次渲染时解析一次值。