ash*_*143 6 javascript json handlebars.js
认为我的json是这样的:
{
main: {
"" : [{some_obj},{some_obj}]
},
secondary: {
"key": [{some_obj},{some_obj}]
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的第一个#each将运行主要和辅助.
{{#each this}}
-- This is for main and secondary --
{{#each this}}
-- This is for "" in case of main and "key" in case of secondary --
{{/each}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)
如果"this"为空,我的嵌套#each将无效,如我的json中显示的"main"属性所示
似乎 3.xx 有一个错误导致了这个问题。 这是在 4.0.0 中修复此问题的提交。
我用下面的代码片段检查了这些版本:
4.xx:好的
3.xx:不行
2.0.0:好的
var data = {
main: {
"": [1, 2, 3]
},
secondary: {
"key": [3, 4, 5]
}
};
var compiled = Handlebars.compile(document.getElementById('temp').innerHTML);
document.write(compiled(data));Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script>
<script id="temp" type="text/x-handlebars-template">
{{#each this}}
{{@key}}<br>
{{#each this}}
"{{@key}}": {{this}}<br>
{{/each}}
{{/each}}
</script>Run Code Online (Sandbox Code Playgroud)