ecmascript-6
2016-05-16 5 views 0 likes 
0

テンプレートリテラルを使用して、ハンドルバーに似たものをネイティブに実現しようとしています。ここでES6での変数の補間

私のコードです:私はそれらの変数のいずれかをCONSOLE.LOG場合、しかし

<div class="tab" data-group="${id}">${name}</div> 

let myTemplate = '<div class="tab" data-group="${id}">${name}</div>'; 

let doYourMagic = function(){ 
    let tabInfo = { 
     id: 1234, 
     name: "Alex" 
    } 

    let { id, name } = tabInfo; 

    console.log(myTemplate); 
}) 

は今、問題は私がdoYourMagic機能を実行したときに私が得るということです正しい値を取得します(たとえば、console.log(name)は私の名前の値を取得します)。

文字列を正しく補間したいと思いますが、私は間違っていますか?

+0

私はSOから正しく伝えることはできませんが、あなたがいるようですあなたの文字列に一重引用符( '' ')を使用すること。文字列の補間のために、あなたは小さな傾きの引用事を使用する必要があります。 SOのコメントでコードをハイライトするのに使用するのと同じもの。 '' '[see](https://jsfiddle.net/bjpa89ou/2/) – ste2425

+0

ありがとうございました!とてもばかげている! – alemur

+0

私たちには何の問題もありません。 – ste2425

答えて

0

' theString 'で文字列を宣言する代わりに、` theString `のようなテンプレートリテラル表記を使用する必要があります。

だからあなたのコードになる:

let myTemplate = `<div class="tab" data-group="${id}">${name}</div>`; 
//> <div class="tab" data-group="1234">Alex</div> 

あなたはまた、また、仕事をすること、例えばこの中にそれを簡素化することができます:

let tabInfo = { 
    id: 1234, 
    name: "Alex" 
}; 
console.log(`<div class="tab" data-group="${tabInfo.id}">${tabInfo.name}</div>`); 
関連する問題