2016-05-17 1 views
0

My Meteor Vorlage wie folgt angeordnet ist:Meteor aktivierende Vorlage basiert auf local

<template name="main"> 
{{#if youwashere}} 
{{> content}} 
{{#else}} 
{{> introduction}} 
{{/else}} 
{{/if}} 
</template> 

Um zu bestimmen, ob ein Benutzer vor auf meiner Seite war, habe ich Setup eine lokale Speicherung, die funktioniert. Ich habe dann versucht, es so nennen:

Template.main.helpers({ 
youwashere(){ return localStorage.getItem('herebefore'); } 
}); 

Was passieren soll, zu, ist dies: wenn es ein local Artikel ist ('herebefore') dann wäre es die Vorlage zeigt namens content. Aber wenn Sie dieses Element nicht auf Ihrem Computer haben, würde es Ihnen die Vorlage zeigen. Der Helper-Code endet nicht und ich frage mich, was ich falsch mache.

EDIT: auf dem lokalen Speicher zu speichern, verwende ich die folgenden:

Template.introduction.events({ 
'click #button':function(){ 
localStorage.setItem('herebefore', true);} 
}); 
+1

Welchen Wert sind Sie in localstorage speichert? Es sollte zu "truthy" ausgewertet werden, wenn es von "getItem" zurückgegeben wird –

Antwort

1

Ihre Syntax für else war einfach ein bisschen off:

<template name="main"> 
{{#if youwashere}} 
    {{> content}} 
{{else}} 
    {{> introduction}} 
{{/if}} 
</template> 
0

Ich konnte es lösen, wie so. Aus irgendeinem Grund funktioniert die else-Syntax nicht so, wie ich es möchte.

<template name="main"> 
{{#if beenhere}} 
{{> currentevents}} 
{{/if}} 
{{#unless beenhere}} 
{{> introduction}} 
{{/unless}} 
</template>