2016-05-12 5 views
0

デフォルトでは、自分のテンプレートの1つをreturn falseに設定しました。私がしたいのは、以前のテンプレートをreturn trueに変更するクリックイベントがあることです。私のコードは次のとおりです:流星:クリックして他のテンプレートを有効にしますか?

Template.mypage.helpers({ 
pagefunction(){ return false;} 
}); 

Template.mypage.events({ 
'click #randomdiv': function(){ 
pagefunction(){ return true; } 
} 
}); 

このコマンドは機能しませんが、私が達成しようとしていることをうまく示しています。同じテンプレート内にあるdivをクリックするとpagefunctionがtrueを返すようにしたいと思います。あなたはイベントに状態ことを有効にする必要があり

<template name="mypage"> 
    {{#if pagefunction}} 
    {{> atemplate}} 
    {{/if}} 
</template> 

答えて

1

一方、私のHTMLは、の線に沿って何かを探します。これを行う最も一般的な方法は、変数Sessionを使用することです。

Template.mypage.helpers({ 
    pagefunction(){ return Session.get('myState'); } 
}); 

Template.mypage.events({ 
    'click #randomdiv': function(){ 
    Session.set('myState',true); 
    } 
}); 
+0

私はあなたが何を意味するかを見ます。ただし、何らかの理由でセッション変数を保存できません。私は 'meteor add session'をインストールしているので、未定義として表示されません。ただし、Chromeリソースコンソールには表示されません。 –

+0

考えてみると、これは、コード自体が動作するので、設定されたストレージデバッガは通常PHP用であるためだと思います。 –

1

初め

するvar PAGE_KEY =「page_key」でコードを入力し、取得することはできませんセッションを解決するために、これを行うしてみてください。

Session.setDefault(PAGE_KEY、false);

関連する問題