我在Meteor中使用多个表格表来在同一页面上显示分区数据集。每次出现的表格都出现在单独的模板实例中,但它们都引用同一个表。我有一个模板,如下所示:
<template name="parentTemplate">
....
{{#each folders}}
{{> childTemplate}}
{{/each}}
....
</template>
<template name="childTemplate">
{{> tabular table=Table class="..." selector=selector}}
</template>
folders
为数据返回一组分区,selector
只返回{folderId: _id}
我的Tabular.Table
构造函数非常简单,唯一值得注意的是:
changeSelector(selector, userId){
const ret = _.extend(selector, {status: "active"});
console.log(JSON.stringify(ret));
return ret;
}
console.log
部分返回我期望的内容,为每个表返回不同的folderId
。当我将记录的选择器放入mongodb时,我得到每个表的预期分区,但每个表显示与第一个表相同的数据集。另外,当我点击&#34;下一页&#34;所有表都更新以显示应在最终表中显示的分区。我已经检查过HTML中的所有表格表格元素都有唯一的ID。
我只是错误地使用表格表吗?
修改: 经过一些修补,我发现了一个潜在的解决方案,但它并不干净,所以我仍然喜欢听到人们的想法。我所做的是声明一个流星方法如下:
Meteor.methods({Table: function(){return new BlahTable(...);})
这在客户端和服务器上执行,在两个位置创建相关的表格表,然后我使用{{>tabular...}}
中新创建的表