【问题标题】:How to display serial number in meteor template如何在流星模板中显示序列号
【发布时间】:2014-04-01 07:00:27
【问题描述】:

我需要在我的流星应用程序中显示项目列表。 我的模板代码就像

 Template.templatename.vname = function(){
    return Groups.find();
 }


{{#each vname}}
// Need to display serial number here.
{{ field1 }}
{{/each}}

如何在这个循环中显示序列号?

【问题讨论】:

  • 什么是list?一个序列号(字符串)数组?
  • 它是一个名称数组。我需要在每个名称前显示序列号。
  • 如何存储名称对应的序列号?如果没有更多代码,这个问题根本不清楚。
  • 你是指列表中的索引还是唯一的字符串来标识数据库条目?

标签: meteor handlebars.js


【解决方案1】:

我找到了解决办法

Template.templatename.vname = function(){
   var gps_crs = Groups.find();
   var gps = gps_crs.fetch();
   for (var i = 0; i < gps.length; i++) {
        gps[i].index = i+1;
    }
    return gps;
 }


{{#each vname}}
{{ index }}
{{ field1 }}
{{/each}}

序列号将显示在{{ index }}

【讨论】:

  • 如果您更改组的排序顺序,这将中断。为什么不直接使用 {{_id}} 而不是 {{index}}
【解决方案2】:

代码

Template.templatename.vname = function(){
    return Groups.find().fetch().map(function (d, i) {
        d._index = i + 1;
        return d;
    });
}

模板

{{#each vname}}
  {{_index}}
  {{ field1 }}
{{/each}}

【讨论】:

    【解决方案3】:

    如果我们使用

    {{#each vname}}
    {{@index }}
    {{/each}} 
    

    然后我们会得到从 0,1,2 开始的一串数字......从 1,2,3 开始......然后我们可以使用 Handlebar 数学助手并使用下面的代码......

    {{#each vname}}
    {{add @index 1}}
    {{/each}}
    

    或者我们自己编写一个迭代器辅助函数。

    【讨论】:

      猜你喜欢
      • 2018-06-01
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-11
      • 2018-04-27
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多