新しい ReactiveVar をインスタンス化しています:
Template.myTemplate.onCreated(function() {
this.var1 = new ReactiveVar(0);
}
ユーザーが新しい年の値を選択すると、 Tracker.autorun が強制的に再実行されます。
Template.myTemplate.onRendered(function() {
Tracker.autorun(function() {
var year = Session.get('chartYear').toString(); // This session is from another template
// Do stuff
...
Template.instance().var1.set(new data);
}
}
関数を再実行するヘルパー:
Template.myTemplate.helpers({
function1: function () {
return Template.instance().var1.get();
}
何が起こっているのかわかりませんが、最初に年の値を選択すると、すべて正常に動作します。しかし、ユーザーが新しい年の値を選択すると、TypeError が発生します。
"TypeError: null is not an object (evaluating 'Template.instance().var1')"
ただし、代わりに ReactiveVars を Sessions に置き換えると、ユーザーが異なる年の値を選択したときにすべてが正常に機能します。誰か助けてくれませんか?