如何使用 Ember.js 和 Handlebars.js 渲染(Twitter Bootstrap)网格? [英] How to render a (Twitter Bootstrap) grid using Ember.js and Handlebars.js?
问题描述
我很难找到一种使用 Ember.Handlebars 呈现以下标记的方法:
<div class="span4">项目#1(行#1/列#1)</div><div class="span4">项目#2(行#1/列#2)</div><div class="span4">项目#3(行#1/列#3)</div><div class="row-fluid"><div class="span4">项目#4(行#2/列#1)</div><div class="span4">项目#5(行#2/列#2)</div><div class="span4">项目#6(行#2/列#3)</div>
<div class="row-fluid"><div class="span4">项目#7(行#3/列#1)</div>
使用纯 JavaScript,我会做这样的事情:
var array = ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7'],output = '';for (var i = 0, j = array.length; i < j; i++) {输出 += ''+ i + '</div>';如果 ((i + 1) % 3 == 0) {输出 += '</div><div class="row-fluid">';}}输出 += '</div>';理想情况下,我会将其放在自定义 Handlebars 助手中(从而从模板中删除逻辑)但 Ember 文档 只解释了如何编写简单的助手,我真的不知道如何在不丢失属性绑定的情况下编写更复杂的块助手.
有谁知道将 Twitter Bootstrap 的网格系统与 Ember 模型集合一起使用的最佳方法吗?
先谢谢你!最好的问候,
大卫
解决方案 对于那些感兴趣的人,这里有一个非常干净的方法来处理这种情况.
这是模板:
{{#每个帖子在帖子}}{{#if post.first}}<div class="row-fluid">{{/如果}}<div class="span4"><div class="post">{{帖子标题}}
{{#if post.lastOfRow}}
<div class="row-fluid">{{/如果}}{{#if post.last}}