【发布时间】:2016-03-24 13:37:59
【问题描述】:
此 Meteor 代码在模板上的 headerLabel 上显示一条消息,服务器和/或客户端通过在 HeaderLabelCol mongo 集合中插入一条新消息来更改消息,并期望客户端模板在发布最后插入的文档。
我能够使用客户端浏览器插入一条新消息,但直到我刷新页面后才显示,这可能表明反应链在某处被破坏。问题是什么?如何修复?谢谢
//client.js
Template.header.helpers({
headerLabel: function () {
return HeaderLabelCol.findOne() ? HeaderLabelCol.findOne().headerLabel : 'Make a selection';
}
});
//server.js
HeaderLabelCol = new Mongo.Collection('headerLabelCol');
Meteor.publish('headerLabelCol', function () {
return HeaderLabelCol.find({userId: this.userId}, { sort: { createdAt: -1 } });
});
HeaderLabelCol._ensureIndex({createdAt: -1});
HeaderLabelCol.before.insert(function (userId, doc) {
doc.userId = userId;
doc.createdAt = Date.now();
});
HeaderLabelCol.allow({
insert: function (userId, doc) {
return (userId && doc.owner === userId);
}
});
【问题讨论】:
标签: meteor