2016-03-23 6 views
0

Ich möchte eine Schaltfläche in meiner Vorlage anzeigen, die von session als true oder false abhängig ist. Allerdings, wenn ich die Sitzung falsch in Ereignisse festlegen möchten es nicht passieren:Meteor-Sitzung wird nicht in Template-Ereignissen gesetzt

<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); 
    } 
}); 

Wie kann ich die Session-Variable zurück auf false gesetzt, nachdem die Schaltfläche geklickt worden war?

+1

1) Check-in Debugger, dass Sie auf Click-Ereignis zu Ihrem 'Click' Ereignis erhalten. Es scheint richtig, aber Sie könnten etwas verpassen. 2) Überprüfe, was in deinem Helfer passiert: Du machst einen Test, um 'Session' vor dem' get' auf 'wahr' zu setzen, also bist du sicher, dass das nicht zurücksetzt, was im click-Ereignis passiert ist? – MrE

Antwort

1

Ich denke, Ihr Helfer hält die Session-Variable auf wahr. Wenn Sie auf die Schaltfläche klicken, legen Sie die Sitzungsvariable fest, aber nicht die Anzahl der Bilder. Wenn dies der Fall ist, nur einige Logging in das Click-Ereignis und auf den Helfer, und Sie können sehen, dass jemand den Wert von den anderen zu überschreiben.

Verwandte Themen