Javascript 手柄未呈现JSON上下文数据,获取空模板
我遇到了一个奇怪的问题,Handlebar正确地编译了我的模板,但是当传递上下文数据时,html中的结果字段是空白的。我已经确认我的JSON数据实际上是一个javascript对象,而不是字符串。如果在其他地方得到答复,我表示歉意。我看到了很多关于JSON字符串需要成为实际对象的答案,但正如我所说的,情况并非如此 模板:Javascript 手柄未呈现JSON上下文数据,获取空模板,javascript,handlebars.js,Javascript,Handlebars.js,我遇到了一个奇怪的问题,Handlebar正确地编译了我的模板,但是当传递上下文数据时,html中的结果字段是空白的。我已经确认我的JSON数据实际上是一个javascript对象,而不是字符串。如果在其他地方得到答复,我表示歉意。我看到了很多关于JSON字符串需要成为实际对象的答案,但正如我所说的,情况并非如此 模板: {{{每次下载} {{pagetitle}} {{description}} {{/每个}} JS: var source=$(“#项模板”).html(); var te
{{{每次下载}
{{pagetitle}}
{{description}}
{{/每个}}
JS:
var source=$(“#项模板”).html();
var template=handlebar.compile($.trim(source));
var html=模板({
下载:[
{pagetitle:'title',description:'TheDescription'},
{pagetitle:'title',description:'TheDescription'},
{pagetitle:'title',description:'TheDescription'}
]
});
html的结果(只有一个空白项):
如有任何见解,将不胜感激。如果我在别人看到这一点之前就弄明白了,我一定会发布一个更新。你应该使用
this
{{#each downloads}}
<div class="download-item">
<h3>{{this.pagetitle}}</h3>
<p>{{this.description}}</p>
</div>
{{/each}}
{{{#每次下载}
{{this.pagetitle}}
{{this.description}}
{{/每个}}
我觉得有点傻,但我刚刚发现了我的问题。我试图添加这些车把作为一个旧网站的页面上的翻新的一部分。它使用的是modx进化CMS。我不能在dom中的脚本标记中使用把手模板,cms甚至在把手有机会处理它们之前解析出{{}}。我的解决方案是在CMS范围之外的外部加载模板。我会把你的答案标记为正确的,因为无论如何我都应该使用this
。谢谢