Angular2:模板字符串中${..}和{{…}}之间的差异

在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

祝好运!

相关文章

AngularJS 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...