5

我正在尝试遵循 aurelia.io 上的“入门”部分,并且在字符串内的字符串插值方面遇到了一些问题。

在第一个示例的视图模型中,“fullName”计算的 getter 返回一个字符串

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

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

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

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

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

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

我究竟做错了什么?

4

2 回答 2

8

你的答案是正确的。这实际上是 ECMAScript 6 的一个特性,而不是专门针对 Aurelia。在 ES6 中,是 ` 字符而不是 ' 字符来分隔模板化字符串。

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

return [this.firstName, this.lastName].join(' ');
于 2015-02-05T21:37:07.840 回答
5

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

所以正确的方法是

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

对于那个很抱歉。

于 2015-02-05T17:18:27.507 回答