2013-02-15 13 views
5

口ひげテンプレートのドットを含むフィールド名を参照するにはどうすればよいですか?私は口ひげテンプレートのドットを含むフィールド名を参照するにはどうすればよいですか?

{ 
    "foo.bar": "my value" 
} 

のような見解を持っている場合たとえば、その後、どのように私はテンプレートにmy valueを置くことができますか?口髭はドットがパスの一部であると考えるので、{{foo.bar}}を使うと動作しません。 "bar"を持つ "foo"があるはずです。

+0

foo_bar' 'にプロパティをリファクタリングする方が簡単です。解決策ではありませんか? –

答えて

5

.のキーをMustacheから読み取ることはできません。 Mustache仕様では、コンテンツ名の分割に.が使用されています。口ひげはエスケープの手段を提供しますが、HTMLコンテンツのみを提供します。

口ひげ仕様:interpolation

あなたは口ひげテンプレートでそれを使用可能にするために、あなたのデータを事前処理する必要があります。これをどうやって行うかは、問題がどのくらい広がっているかによって決まります。

私はJonによって書かれたJavaScriptでのプロパティを、再マップする簡単な例を見つけました:

function rename(obj, oldName, newName) { 
    if(!obj.hasOwnProperty(oldName)) { 
     return false; 
    } 

    obj[newName] = obj[oldName]; 
    delete obj[oldName]; 
    return true; 
} 

出典:Rename the keys… in an object

関連する問題