我有两个系列items
和worksheet
.
每个工作表都有一个item
数组字段,我在其中存储所有工作表items
_id。基于此字段,我发布当前工作表的项目。该出版物如下所示:
Meteor.publish("get_items", function(worksheetId) {
var currentWorksheet = Worksheets.findOne(worksheetId);
if (currentWorksheet.items) {
return Items.find({"_id":{$in:currentWorksheet.items}}, {});
} else {
console.log("no item to send");
return Items.find({"_id":null}, {});
}
}
return this.ready();
});
本出版物在当前页面 Iron-router 控制器中订阅。
这是问题所在:
我使用带有模板级别订阅的专用组件来更改当前工作表items
字段。该组件加载在引导箱中。
当我更改当前工作表items
字段时,我的主要出版物不会更新以将更改考虑在内。但是,如果我重新加载页面,则会考虑所做的更改。
我应该如何设计我的出版物以使其在依赖于另一个集合的情况下保持反应性?