在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; }
问题:有没有理由选择一个而不是另一个?
它们是不同的东西:
正如您所知,${}在模板字符串中用作占位符.这些模板字符串与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
祝好运!