我正在尝试根据用户事件排除要在client
上显示的文档。
这是我失败的尝试:
Template.documents.events({
'click #dontShowThisDocument': function () {
Session.set('excludedDocument', this._id);
}
});
Template.documents.helpers({
lists: function () {
var excludedDocuments = [];
excludedDocuments.push(Session.get('excludedDocument'));
return Coll.find({_id:{$nin:excludedDocuments});
}
});
如何使用array
创建meteor
会话存储,以便用户能够排除列表reactively
上的某些文档?
非常感谢你。
答案 0 :(得分:0)
Session变量可以包含数组(或任何对象),这意味着您可以执行此操作:
Template.documents.events({
'click #dontShowThisDocument': function () {
var excluded = Session.get('excludedDocument');
if ( excluded ) excluded.push(this._id);
else excluded = [ this.id ];
Session.set('excludedDocument',excluded);
}
});
Template.documents.helpers({
lists: function () {
return Coll.find({ _id: { $nin: Session.get('excludedDocument') });
}
});