如何在胡子模板中引用包含点的字段名称?

时间:2013-02-15 19:10:56

标签: template-engine mustache

如何在胡子模板中引用包含点的字段名称?例如,如果我有像

这样的视图
{
  "foo.bar": "my value"
}

然后我如何将my value放入模板?使用{{foo.bar}}不起作用,因为胡子认为点是路径的一部分,就像应该有一个“条”的“foo”。

1 个答案:

答案 0 :(得分:5)

您无法从Mustache中读取其中包含.的密钥。 Mustache规范规定.用于拆分内容名称。 Mustache提供了一种转义方法,但仅限于HTML内容。

小胡子规格:interpolation

您需要预处理数据,以使其在Mustache模板中可用。你如何做到这一点将取决于问题的普遍程度。

我找到了一个简单的示例来重新映射JavaScript中的属性,由Jon编写:

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