javascript - 将对象数组传递给部分-handlebars.js

标签 javascript handlebars.js templating

我试图将一个对象数组作为参数传递给一个部分:

{{> partial [{title: "hello", year: "2015"}, {title: "hello2" year: "2015"}] }}

然后在部分:
<div>

  {{#each this}}
    <label>{{title}}</label>
    <label>{{year}}</label>
  {{/each}}

</div>

...但什么也没有出现。

有没有办法将数组数据传递给部分?
提前致谢。

最佳答案

创建一个解析 JSON 的助手并用这个上下文包装你的部分。

模板:

{{#getJsonContext '[{"title": "hello", "year": "2015"}, {"title": "hello2" "year": "2015"}]'}}
    {{> partial this }}
{{/getJsonContext}}

请注意,引用名称以及 JSON 字符串中的值。

helper :
Handlebars.registerHelper('getJsonContext', function(data, options) {
   return options.fn(JSON.parse(data));
});

信用:https://github.com/assemble/assemble/issues/228#issuecomment-20853985

关于javascript - 将对象数组传递给部分-handlebars.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30372693/

相关文章:

javascript - 在另一个上下文中设置变量

handlebars.js - Ghost 主题每页显示 5 个以上的帖子

components - 在 Nunjucks & Fractal 中渲染另一个组件内的组件

javascript - Backbone.js 和 Handlebars.js 创建相对 URL

javascript - Backbone.js:通过模板嵌套 View

javascript - 使用webpack和html-webpack-plugin输出很多html文件

javascript - 处理 AngularJS 中不再需要的异步数据

javascript - 如何创建一个自动滚动列表

javascript - 如何在多选下拉列表中应用复选框

javascript - 无法访问 handlebar.js 中的 JSON 对象