2015-02-05 31 views
4

我正在尝试关注aurelia.io上的“入门”部分,并在字符串中出现字符串插值问题。ES6在Aurelia中的字符串插值

在第一示例中的视图模型中,“全名”计算吸气剂返回字符串

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

该值在视图(HTML模板)用作$ {全名}。

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

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

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

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

我在做什么错?

回答

7

你的回答是正确的。这实际上是ECMAScript 6的一项功能,而不是Aurelia的具体功能。在ES6中,“字符而不是”字符划分了模板化字符串。

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

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

谢谢您的澄清。刚开始学习ES6并犯了错误。在Visual Studio中,Typescript 1.4版现在支持字符串插值,因此可以直接使用相同的格式。 – 2015-02-05 22:17:02

+0

它的确如此,但是我仅仅在FYI工作时遇到了一些麻烦。另外,如果这个答案有帮助,请注册并接受。 :) – 2015-02-05 22:56:03

+0

打字稿随机的问题? – 2015-02-06 14:56:02

5

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

所以正确的方法是

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

对此深感抱歉。