2015-02-05 35 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}` 

對此深感抱歉。