这是我的活动代码:
Template.pricing_report.events({
'click #btn_report_filter': function(){
from_date = $("#datepicker1").val();
to_date = $("#datepicker2").val();
date_n = new Date(from_date);
from_iso = date_n.toISOString();
date_o = new Date(to_date);
to_iso = date_o.toISOString();
}
});
我想在我的助手中使用变量from_iso
和to_iso
,如下所示:
Template.pricing_report.helpers({
'preportdata':function(){
return price.find();
},
'preportdata_test':function(){
return price.find({
date: {
$gte: from_iso,
$lt: to_iso
}
});
}
正如您所看到的,我在查找函数中使用了from_iso
和to_iso
,但我无法获取辅助函数的值。
我还尝试在我的帮助函数中使用console.log
(from_iso),但它也没有显示任何内容。
那么,我该如何使用这些变量?
答案 0 :(得分:2)
您应该阅读有关ReactiveVar:http://docs.meteor.com/#/full/reactivevar_pkg
的信息快速举例:
SELECT *
FROM dcenter
JOIN dcds on dcds.d_id = dcenter.d_id
JOIN service on service.s_id = dcds.d_id
答案 1 :(得分:1)
您可以使用 Session 变量来存储Template实例变量。它在客户端上提供了一个全局对象,可用于存储任意一组键值对。用它来存储列表中当前所选项目之类的内容。在你的情况下,你可以尝试这样的模板(未经测试):
Template.pricing_report.events({
'click #btn_report_filter': function() {
var from_date = $("#datepicker1").val(),
to_date = $("#datepicker2").val(),
from = new Date(from_date),
to = new Date(to_date);
Session.set("to_date", to);
Session.set("from_date", from);
}
});
Template.pricing_report.helpers({
'preportdata': function(){
return price.find();
},
'preportdata_test': function() {
return price.find({
date: {
$gte: Session.get('to_date'),
$lt: Session.get('from_date')
}
});
}
});