8

How do I reference a field name that contains a dot in mustache template? For instance, if I have a view like

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

then how can I put my value into a template? Using {{foo.bar}} doesn't work because mustache thinks the dot is part of the path, like there should be a "foo" that has a "bar".

4

1 に答える 1

6

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

ヒゲスペック:補間

Mustache テンプレートで使用できるようにするには、データを前処理する必要があります。これをどのように行うかは、問題がどの程度広がっているかによって異なります。

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

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

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

出典:キーの名前を変更…オブジェクト内

于 2013-03-08T21:41:27.353 に答える