2017-03-09 5 views
2

autorunです。流行遅れ - 反応性への影響

this.autorun(() => { 
    Meteor.defer(() => { 
    functionThatUsesASessionVariable(); 
    }); 
}); 

この自動実行は、セッション変数が変更されたときには再実行されません。

deferを削除すると、セッション変数が変更されたときに再実行されます。

this.autorun(() => { 
    functionThatUsesASessionVariable(); 
}); 

しかし、私は実際に反応性と反応性を望んでいます。両方を得る方法はありますか?

====

(今の私の最高のプレーがただ単に反応を引き起こすために、何にも割り当てられていない、autorunの初めにSession.get('sessionVar')を入れている。)

this.autorun(() => { 
    Session.get('sessionVar'); 
    Meteor.defer(() => { 
    functionThatUsesASessionVariable(); 
    }); 
}); 

(しかし、これは明らかに反応性が時間の経過とともに変化する可能性のある関数の依存性から直接得られる場合には良いことではありません)

答えて

0

試してみます

this.autorun(() => { 
    if (Session.get('yourVar')){ 
    Meteor.defer(() => { 
     functionThatUsesASessionVariable(); 
    }); 
    } 
}); 

そうしないと、自動実行でセッション変数への依存関係が登録されないことがあります。

関連する問題