日付にフィルタリングするコレクションを動的に購読しようとしています。日付の範囲を指定した動的サブスクリプメーター
私のサーバー・コードは私のクライアントコードは、私がCHだから、これ
var desdeVar, hastaVar, skipVar;
skipVar = new ReactiveVar(0);
desdeVar = new ReactiveVar('NA');
hastaVar = new ReactiveVar('NA');
Template.caja.onCreated(function() {
var self;
self = this;
return self.autorun(function() {
var desde, hasta, skip;
skip = skipVar.get();
desde = desdeVar.get();
hasta = hastaVar.get();
return self.subscribe('caja', skip, desde, hasta);
});
});
Template.caja.events({
'change #hasta': function(e, t) {
var hasta;
hasta = new Date($('#hasta').val());
return hastaVar.set(hasta);
},
'change #desde': function(e, t) {
var desde;
desde = new Date($('#desde').val());
desdeVar.set(desde);
return console.log(desdeVar.get());
}
});
のように見えるこの
Meteor.publish('caja', function(skip, desde, hasta) {
if (desde && hasta === 'NA') {
return Cajas.find({}, {
skip: skip,
limit: 25,
sort: {
fecha: 1
}
});
} else if (hasta === 'NA') {
return Cajas.find({
fecha: {
$gte: new Date(desde)
}
}, {
skip: skip,
limit: 25,
sort: {
fecha: 1
}
});
} else {
return Cajas.find({
fecha: {
$gte: new Date(desde),
$lte: new Date(hasta)
}
}, {
skip: skip,
limit: 25,
sort: {
fecha: 1
}
});
}
});
のように見えますクライアントに設定された期間に動的に登録したい日付を設定します。
私には何が欠けていますか?
好奇心が強いです! {{#each}}を使用して簡単にUIの購読データを取得しているかどうか確認してください。データを取得していない場合は、「onCreated()」のサブスクリプションで問題が発生します。 –
私は実際には購読されたデータを投げるテーブルがありますが、日付でフィルタリングしようとすると、データは同じままです。 – Orozcorp