私には理解できない奇妙な問題があります。テンプレート イベント ハンドルにメソッドとメソッド呼び出しがあります。何らかの理由で、メソッド呼び出しは 5 回に 1 回しか機能せず、DOM を更新しません。呼び出しが機能すると、console.log(Session.get('getReportData')+ " from method call");
オブジェクトをコンソールに返しますが、DOM には返しません。
コンソールで手動で変数を設定して呼び出すと:
Meteor.call('getReportData',startDate, finishDate, function(err, data) {
console.log("is the call working at all??");
if (err)
console.log(err);
Session.set('getReportData', data);
console.log(Session.get('getReportData')+ " from method call");
});
私はすべてを取り戻し、DOMも更新されます。
コードは次のとおりです。
Method:
'getReportData': function(startDate, finishDate) {
/*
if (mingi check, mis annaks errorit?) {
throw new Meteor.Error("no-data-found", "No data can be found for selected period");
} */
var reportData = ScrapReport.find({dateEntered: { $gte: startDate}, dateEntered: { $lte: finishDate}}).fetch();
return reportData;
}
Client:
Template.report.events({
'click .btn': function(startDate, finishDate) {
var startDate = $('#startDate').val();
console.log(startDate + ' StartfromTheButton')
var finishDate = $('#finishDate').val();
console.log(finishDate + ' FinishfromTheButton')
Meteor.call('getReportData',startDate, finishDate, function(err, data) {
console.log("is the call working at all??");
if (err)
console.log(err);
Session.set('getReportData', data);
console.log(Session.get('getReportData')+ " from method call");
});
}
})
Template.reportData.helpers({
'reportData': function () {
return Session.get('getReportData');
}
});
この問題の原因は何ですか?
- コールは毎回機能しません。
- 動くとDOMが更新されない?