在流星中有一种方法可以访问空格键中的数组索引

IT技术 javascript meteor
2021-01-19 11:38:47

我正在使用流星鲨鱼分支。

有没有办法访问空格键中每个块助手内的数组索引?

我正在寻找这样的东西。

{{#each humans}}
  {{this.arrayIndex}}
{{/each}}
3个回答

流星 >= 1.2

空格键在 1.2 中获得了很多功能,包括原生的@index. 不再需要助手来解决这个问题——你可以简单地这样做:

<template name="showHumans">
  <ul>
    {{#each humans}}
      <li>{{@index}}: {{name}}</li>
    {{/each}}
  </ul>
</template>

流星 < 1.2

在“动画”一章流星书中看到了一个使用模板助手的类似示例您可以将 amap应用于人类光标以添加如下索引:

Template.showHumans.helpers({
  humans: function() {
    return Humans.find({}, {sort: {hotness: -1}}).map(function(human, index) {
      human.rank = index;
      return human;
    });
  }
});
<template name="showHumans">
  <ul>
    {{#each humans}}
      <li>{{rank}}: {{name}}</li>
    {{/each}}
  </ul>
</template>
排名有效,名称无效。有小费吗?
2021-03-16 11:38:47
如果您需要一个基于 1 的索引,请创建一个模板助手Template.registerHelper('count1', function(count) { return count + 1; });,然后像这样使用它... {{count1 @index}}...在您的空格键模板中。
2021-03-21 11:38:47
喜欢那种辣度-1。这有效,但返回的对象内部有一些嵌套数组。这就是我希望从模板访问索引的原因。
2021-03-25 11:38:47
哈哈 - 很高兴你喜欢那个。您是否尝试过fetch()在游标上执行 a操作,操作子数组,然后将整个数组返回给模板?我不知道该怎么做,因为空格键似乎不支持@index.
2021-03-29 11:38:47
这很可悲。我不喜欢这个解决方案,但有一种感觉,它是唯一的出路。在 github 上的模板引擎预览页面中,它说它将支持每个助手的索引,但我想我还得等待。非常感谢。
2021-03-30 11:38:47

取自空格键文档

您可以在 #each 的主体中使用特殊变量 @index 来获取序列中当前呈现值的从 0 开始的索引。

在 Meteor 1.0.2.1 中,您可以执行以下操作:

{{#each humans}}
  {{this}}
{{/each}}

这是因为 #each 遍历数组,使每个循环中的 this 简单地等于当前值。

以及如何访问#each内的索引
2021-03-19 11:38:47
这个答案已经严重过时了......它错过了OP问题的重点。
2021-04-02 11:38:47
“这个”不回答原来的问题。
2021-04-03 11:38:47