我订阅了客户订阅。在集合上的新插入之后,只需重定向到该插入集合的查看页面。
使用服务器上的'postDetail'集合进行发布
Meteor.publish('postDetail', (postId: string) => {
return PostCollection.find({ _id: postId });
});
插入页面:
collection.insert(this.currentPost, (error, postId) => {
if (postId) {
this.router.navigate(['detail', { postId: postId }]);
}
else {
}
});
在查看页面中:
this.subscribe('postDetail', this.postId, () => {
collection.findOne({ _id: this.postId});
**// this is not giving the inserted data at first time**
});
答案 0 :(得分:0)
查看您的订阅,您正在使用this.subscribe(),它看起来像模板级订阅。当模板被销毁(不再渲染)时,将删除此订阅。
因此,如果您在插入后重新路由到其他模板,则还需要在该模板中重新订阅。
(Meteor非常聪明,可以保留两个订阅之间的缓存数据,因此第二个订阅速度非常快。但您仍然必须这样做。)