2016-03-23 10 views
0

sessionの値がtrueまたはfalseであるかどうかに関係なく、表示されるかどうかにかかわらずテンプレートにボタンを表示したいとします。私はイベントでfalseにセッションを設定したい場合しかし、起こりません。テンプレートイベントでメテオールセッションが設定されていません

<template name="Home"> 
    {{#if reload}} 
     <a class="btn btn-primary fontScale reloadBtn" href="#" id="reload"><i class="fa fa-refresh fa-lg"></i> Reload</a> 
    {{/if} 
</template> 

Template.Home.helpers({ 
    reload: function(){ 
     ......... 
     (imgCount1 > imgCount) ? Session.set('more',true):Session.set('more', false); 
     return Session.get('more'); 

    } 
}); 

Template.Home.events({ 
    ...... 
    "click #reload": function(){ 
     Session.set('more', false); 
    } 
}); 

ボタンがクリックされた後、私は戻ってfalseにセッション変数を設定するにはどうすればよいですか?

+1

1)クリック時にあなたの 'click'イベントを取得したことをデバッガでチェックします。それは正しいようですが、あなたは何かを見逃しているかもしれません。 2)あなたのヘルパーで何が起きているのかチェックしてください: 'get'の前に' Session'をtrueに設定するテストをしていますので、これはclickイベントで起こったことをリセットしていませんか? – MrE

答えて

1

あなたのヘルパーがセッション変数をtrueに維持していると思います。ボタンをクリックすると、セッション変数は設定されますが、イメージ数は設定されません。 その場合、clickイベントとヘルパーの両方にいくつかのログを記録するだけで、他のイベントの値を上書きすることができます。

関連する問題