【发布时间】:2017-12-27 16:26:08
【问题描述】:
我在 mongoDB 中有一个名为“pIds”的集合,其中包含多个数组:
{
"_id" : "Coms>f41a3480af751a7a",
"pIds" : [
"pid_833d82c2f32b7dc0",
"pid_833d82c2f32b7dc0",
"pid_833d82c2f32b7dc0",
],
"dudes" : [
"AB",
"AC",
"BC"
],
"ho" : [
"Coms>f41a3480af751a7a",
"Coms>f41a3480af751a7a",
"Coms>f41a3480af751a7a"
],
"ps" : [
"vf",
"ou",
"rwf"
],
}
现在我想将这些元素动态呈现到 HTML 表格中,以便表格的更改方式与集合中数据的更改方式相同。所以当新元素被写入集合“pIds”时,表应该自动添加新元素。我考虑过使用 {{each}}。
JS 助手:
Template.home.helpers({
'pIdsRendering': function() {
if (Meteor.userId()) {
var pId = pIds.find({'_id': Session.get('pIdshome')}).fetch();
return pId;
}
},
});
HTML:
<tbody>
{{#each pIdsRendering}}
{{#each pIds}}
<tr><td>{{this}}</td></tr>
{{/each}}
{{/each}}
{{#each pIdsRendering}}
{{#each dudes}}
<tr><td>{{this}}</td></tr>
{{/each}}
{{/each}}
[...and so on...]
</tbody>
实际上这是可行的,并且新元素已添加到表格中,但我无法将内容放入表格的正确单元格中。它将内容全部放在一列中,就像表格的数据会这样写:
所以,我认为这是关于“逻辑顺序”,但我无法完成......最后表格应该是这样的:
【问题讨论】:
标签: javascript arrays meteor html-table each