我有一组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"}
非常烦人。任何想法如何避免此问题?
谢谢
怎么样
this.toString()
可能比String(this)
更健壮。
我有同样的问题,并且
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;
}
});
否则,希望这对其他人有所帮助。
这似乎起作用:
String(this)
虽然非常优雅,但必须这样做...
例如,显示数组中的项目列表:
// input to template
const shopping_list = [
'Apples',
'Oranges',
'Bread',
'Peanut Butter'
];
// template.hbs
<ul>
{{#each shopping_list}}
<li>{{this}}</li>
{{/each}}
</ul>
预期结果: