【发布时间】:2017-09-04 04:03:09
【问题描述】:
我已经使用this 模式在我的 Meteor/Blaze 应用程序中进行模板级订阅已有无数个月了。
但是,在升级到 Meteor 1.4.3.2 后,我的一个模板似乎有一个奇怪的错误。
我有这个出版物:
Meteor.publish('reports.byId', function(reportId){
console.log("subscribe reports.byId", reportId);
const reports = Reports.find({_id: reportId});
console.log(reports.count());
return reports;
});
我已经删除了对用户权限的任何验证,并添加了写入内容以检查我是否确实获得了数据等。
现在我使用这个 onCreated 方法调用它:
Template.manageReport.onCreated(function(){
const instance = this;
const reportId = FlowRouter.getParam("reportId");
instance.autorun(function(){
const reportSub = instance.subscribe('reports.byId', reportId);
if (reportSub.ready()){
console.log("ready");
}
});
});
奇怪的是:如果我取消检查订阅是否准备就绪,一切都会按预期进行。一旦我检查订阅准备情况,订阅就永远不会准备好,我可以通过服务器上的日志消息看到订阅请求每秒几十次。
【问题讨论】:
-
升级前你的 Meteor 版本是多少?
-
1.3.x 我相信。抱歉,我实际上没有将 .meteor 文件夹置于版本控制之下。
标签: meteor meteor-blaze