5

aurelia.io の「はじめに」セクションに従おうとしていますが、文字列内の文字列補間に問題があります。

最初の例のビューモデルでは、'fullName' 計算されたゲッターは文字列を返します

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 に答える