使用车把进行迭代#在流星中的每个字符串上进行迭代

问题描述 投票:2回答:4

我有一组userId的字符串,并在模板中使用{{#each}}进行迭代。但是,#each似乎想要一个对象并将每个字符串转换为和对象,如下所示:

String {0: "T", 1: "e", 2: "2", 3: "s", 4: "y", 5: "D", 6: "g", 7: "G", 8: "d", 9: "K", 10: "e", 11: "i", 12: "i", 13: "Q", 14: "S", 15: "i", 16: "W"} 

非常烦人。任何想法如何避免此问题?

谢谢

meteor handlebars.js
4个回答
4
投票

怎么样

this.toString()

可能比String(this)更健壮。


1
投票

我有同样的问题,并且

this.toString()

已解决问题,但作为Meteor的新手,我很好奇为什么会发生这种情况,以及这是否可以解决问题。

数据

client {
    exampleProerty: value,
    projectManagers: [
        userId,
        userId 
    ],
    examleTwo: value
}

模板

{{#each projectManagers}}
    {{> userTemplate}}
{{/each}}

模板助手

Template.userTemplate.helpers({

user: function() {
    var id = this.toString();
    var user = Meteor.users.findOne({_id: id});
    return user;
}

});

否则,希望这对其他人有所帮助。


0
投票

这似乎起作用:

String(this)

虽然非常优雅,但必须这样做...


0
投票

例如,显示数组中的项目列表:

// input to template
const shopping_list = [
  'Apples',
  'Oranges',
  'Bread',
  'Peanut Butter'
];

// template.hbs
<ul>
  {{#each shopping_list}}
    <li>{{this}}</li>
  {{/each}}
</ul>

预期结果:

  • 苹果
  • 橘子
  • 面包
  • 花生酱
© www.soinside.com 2019 - 2024. All rights reserved.