搜索和阅读文档后,我找不到解决此问题的直接解决方案:
从 ArrayController 渲染项目列表,我想每 N 个元素插入一个位置或页面指示器。
如果有任何有关 Ember 方式的想法,我将不胜感激!
通常我会假设,这可以在模板中处理,例如......
each listitems
if index % 5 == 0
insert indicator
...但是 Ember 不会公开索引,并且 Handlebars 模板应该是没有逻辑的。
我能想到的第二种方法是使用 ArrayController 并为数组中的每个第 n 个对象设置一个属性,但为什么对象需要知道这一点?设置属性感觉很困惑,而且很容易出错。
任何想法将不胜感激!
最佳答案
您可以构建自己的助手。顺便说一句,您可以使用每个内部的 _view.contentIndex
访问索引。因此,您可以编写一个自定义助手,它基本上插入所需的 html。
Ember.Handlebars.registerBoundHelper('indicator', function(index,options){
var html = '';
if(index%2) {
html = '<hr />';
}
return new Ember.Handlebars.SafeString(html);
});
并通过传递索引来调用它。这是正在运行的 jsbin http://emberjs.jsbin.com/niguwa/1/edit
关于javascript - Ember : How to render an element every n elements in a list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25662429/