我有一个有趣的问题。我有一个handlebars.js模板已经工作了一个星期,刚刚停止。我希望有人可能知道为什么。
继承模板
<script id="banners-template" type="text/x-handlebars-template">
<div class="banner-container" >
{{#banners}}
<ul class="banner" >
<li><div class="checkbox"></div></li>
<li>{{publisher_status}}</li>
<li><a href="{{url}}">Test Link</a></li>
<li><img class="banner" src="{{imageurl}}"/></li>
<li>{{description}}</li>
<li>{{width}}x{{height}}</li>
</ul>
{{/banners}}
</div>
</script>
以下是适用于此的代码。
var bannersRawTemplate = $("#banners-template").html();
var bannersTemplate = Handlebars.compile(bannersRawTemplate);
data = '{"banners":[{"type":"banner","width":125}]}';
alert(bannersTemplate(data));
我意识到上面的模板中没有访问该类型,但它并不重要。我仍然应该在“横幅”数组循环中显示一次代码。不是这种情况。显示的模板的唯一部分是。它就像没有在JSON中看到横幅数组。
有什么想法吗?
提前致谢。
答案 0 :(得分:0)
有没有特殊原因你没有传入实际的JSON,而是传递一个字符串?根据我对Mustache的经验,以及对Handlebars.js文档的粗略回顾,您应该通过:
JSON.parse('{"banners":[{"type":"banner","width":125}]}');
并且,假设您显示的代码“非常真实”,为什么不呢:
{"banners":[{"type":"banner","width":125}]}
当然,这是假设问题确实不是你只有一个元素的列表。