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}}