Ember.js 模板中的增量
我觉得我可能为一个简单的问题做了很多 如果Ember.js 模板中的增量,ember.js,handlebars.js,increment,helper,grunt-ember-templates,Ember.js,Handlebars.js,Increment,Helper,Grunt Ember Templates,我觉得我可能为一个简单的问题做了很多 如果index=0,如何在模板中增加index 理想情况下,我想做这样的事情 {{index+1}} 据我所知,解决方案是编写一个助手函数,如下所示 import Ember from 'ember'; export function plusOne(params) { return parseInt(params) + 1; } export default Ember.HTMLBars.makeBoundHelper(plusOne); {{
index=0
,如何在模板中增加index
理想情况下,我想做这样的事情
{{index+1}}
据我所知,解决方案是编写一个助手函数,如下所示
import Ember from 'ember';
export function plusOne(params) {
return parseInt(params) + 1;
}
export default Ember.HTMLBars.makeBoundHelper(plusOne);
{{plus-one index}}
然后在模板中执行以下操作
import Ember from 'ember';
export function plusOne(params) {
return parseInt(params) + 1;
}
export default Ember.HTMLBars.makeBoundHelper(plusOne);
{{plus-one index}}
所以希望我错了,有一个更简单的方法来做到这一点。而且可能是在模板中进行“简单”处理的更简单的方法。不确定是否有异议,因为模板中可能存在“太多”逻辑
对此,如有任何指导,将不胜感激
谢谢 简单的回答是,没有。没有办法在模板中执行任何真正的计算逻辑。帮助器是在模板中向索引添加1的最佳选择 当然,人们可能会想知道,为什么要在任何索引中添加+1?是否可能以非零为基础的方式标记您的配额?在这种情况下,您会不会转而呈现一个有序列表
<ol>
{{#each model as |foo|}}
<li>{{foo.bar}}</li>
{{/each}}
</ol>
然后
{{{#每个食物都算作| foo}}
我是{{foo.name}我是{{foo.count}
{{/每个}}
导致:
我是福,我是1
我是男人,我是2
我是朱,我是#3如果您需要访问每个块中的索引,请使用:
<ul>
{{#each model as |foo index|}}
<li>{{index}} : {{foo.bar}}</li>
{{/each}}
</ul>
{{{#每个模型作为| foo索引}
- {{index}}:{{foo.bar}
{{/每个}}
见:
然后,您可以使用模板帮助器将索引转换为位置
在学习余烬的过程中,我也为这个问题做了很多努力。我已经创建了一个要点,向您展示了如何使用一个非常简单的Handlebar助手方法来实现这一点 然后你所要做的就是用
{{your helper method index}}
调用这个helper;然后,它应该输出递增1的索引或在助手方法中设置的任何增量。我使用
对于模板@user2517182中的索引,您的用例是什么?在模板中进行“简单”处理可能是一种更简单的方法。这是不可能的。把手模板的设计是无逻辑的。你应该在你的代码中做任何和所有的处理。如果你有
stuff[]
并且你想在模板中stuff[0]
旁边显示1,那么在stuff[1]
旁边显示2,等等…@GJK那么{index+1}
的事情也是这样吗?我只是想确定没有更好的方法。谢谢。是的,这同样适用于{{index+1}
。无法直接在模板中进行任何处理或计算,您必须使用助手或计算属性。谢谢您的回答。我认为有序列表可能有点限制。我不能像foo是数组中的1那样做,foo也是!数组中有2个
,foo三个!数组中的值为3
。但我想这就是为什么会有帮手的原因。:-)从Ember 1.11开始,您可以使用{{{每个模型作为| foo index |}}
来获取当前循环索引。这确实解决了问题,我不知道为什么它不更高。这比任何其他解决方案都好。谢谢你的要点,节省了我很多时间!
{{#each model as |foo index|}}
{{inc index}}
{{/each}}