Aurelia 中的 ES6 字符串插值

ES6 String Interpolation in Aurelia

我正在尝试按照 aurelia.io 上的 "Getting Started" 部分进行操作,但在字符串内插值方面遇到了一些问题。

在第一个例子的viewmodel中,'fullName'计算出getterreturn一个字符串

return '${this.firstName} ${this.lastName}'

此值在视图(html 模板)中用作 ${fullName}。

问题是显示的不是计算出的全名,而是实际的 return 字符串。我已经尝试使用 Chrome 和 Firefox,但都没有显示正确的值。

welcome() 函数也存在同样的问题,因为它也是 return 一个字符串值。

我注意到在 Aurelia Visual Studio 示例中,return 值已更改为实际计算的字符串。

return this.firstName + " " + this.lastName;

我做错了什么?

我的新手错误。对于字符串插值字符串,我使用了单引号而不是反笔画。

所以正确的做法是

return `${this.firstName} ${this.lastName}`

对此感到抱歉。

你的回答是正确的。这实际上是 ECMAScript 6 的一个特性,而不是 Aurelia 特有的。在 ES6 中,分隔模板字符串的是 ` 字符,而不是 ' 字符。

关于Visual Studio样本,这只是输出相同结果的另一种方式。然而,这种风格在 ECMAScript 5/JavaScript 中是有效的。您还可以编写以下内容,因为它们都是等价的:

return [this.firstName, this.lastName].join(' ');