是否有任何方法可以在我的Mustache.js模板中的嵌套结构中绕过名称冲突
Is there any way to get around name collisions in nested structures in my Mustache.js templates?
我真的有名字冲突的问题在我的Mustache模板(使用Mustache.js)。这个例子说明了这两个问题:
我正在传递这个数据:
{'recs': {'code': 'foo', 'id': 1
'childRecs': [{'id': 2},
{'code': 'bar', 'id': 3}]
}
}
进入模板:
{{#recs}}
Record ID: {{id}}
{{#childRecs}}
This child code is: [{{code}}] and its parent ID is: {{id}}
{{/childRecs}}
{{/recs}}
预期:Record ID: 1
This child code is: [] and its parent ID is 1
This child code is: [bar] and its parent ID is 1
实际:Record ID: 1
This child code is [foo] and its parent ID is 2
This child code is [bar] and its parent ID is 3
在嵌套的
{{#childRecs}}
块中没有办法访问父{{#recs}}{id}}{{/recs}}
字段——它被{{#childRecs}}{{id}}{{/childRecs}}
覆盖如果
{{#childRecs}}
中缺少一个变量,并且存在同名的父变量,则无法阻止它打印父变量
我的嵌套结构非常深,并且有许多名称冲突,因此以不冲突的方式重命名它们是不可行的选择。还有别的办法解决我的问题吗?
我看到两个选项:
-
在发送数据进行呈现之前,在客户端丰富数据。例如,你可以遍历所有的childRecs并添加一个新的parentId属性——然后更新或者
-
使用http://www.handlebarsjs.com/-它保持胡子语法,但增加了一些好处,如访问父上下文(通过
../
)。例如:{{#recs}} Record ID: {{id}} {{#childRecs}} This child code is: [{{code}}] and its parent ID is: {{../id}} {{/childRecs}} {{/recs}}
相关文章:
- 嵌套对象结构
- 访问嵌套函数结构中的JavaScript父函数变量
- 如何从 json 嵌套结构中获取键的 json 值
- 展平多个嵌套层次结构数组-d3.js
- 通过键将平面对象转换为嵌套结构
- 正在创建嵌套的HTML结构
- 限制嵌套的Angular ng重复数据结构
- 简单的层次结构与jQuery移动嵌套列表+挖空.js
- 如何修复书架事务中的嵌套结构
- 更改嵌套 JSON 的结构
- 安全地访问不可变结构中的嵌套值.js
- 检查嵌套的 JSON 结构是否包含键
- 如何在不可变JS中存储和更新深度嵌套的结构
- 如何在流星空格键中使用嵌套结构
- 显示嵌套 JSON 结构中的数据时出现问题
- 嵌套视图模型结构导致 ko.computing 错误
- 将嵌套文档集合转换为具有父引用的模型树结构
- 根据路径字符串构建嵌套文件夹结构
- 如何在嵌套结构中声明变量
- 用于创建层次结构的嵌套函数