2016-06-30 6 views
1

1つのhtmlページで4つのテンプレートを使用しています。テンプレート1はデフォルトのテンプレートで、このhtmlページに行くたびに表示されます。流星のデフォルトテンプレートに戻ることはできません

しかし、他のテンプレートや他のhtmlページを移動した後、このページに戻ると、デフォルトテンプレートの代わりにそのページを出た時のテンプレートが表示されます。

HTML:

<template name = "Page1"> 
    <div class = "events"> 
    {{>Template.dynamic template=selector}} 
    </div> 
</template> 

<template name = "template1">...</template> 
<template name = "template2">...</template> 
<template name = "template3">...</template> 
<template name = "template4">...</template> 

Javascriptを:

if(Meteor.isClient) { 
    Session.setDefault("selector","eventDetailPage"); 

    Template.showEvent.helpers ({ 
    selector: function() { 
     return Session.get("selector"); 
    } 
    }); 

    Template.showEvent.events ({ 
    'click #temp2': function(){ 
     Session.set('selector’,'template2') 
    } 
    }); 

    ...template 2, 3, 4... 
} 
+0

ここで、 'showEvent'テンプレートはどこですか? –

答えて

0

Session.setDefault("selector","eventDetailPage");はあなたがレンダリングされたtemplate1/template2/...を追跡するために使用するものと考えられます。これは、Webブラウザでの初期化時にのみ呼び出されます。

ページ1に戻るたびにデフォルトページに戻る場合は、代わりにこのようなものが必要です。

Template.Page1.onRendered(function() { 
    `Session.set("selector","template1");` 
}) 
+1

これは素晴らしいことです!できます!どうもありがとうございます! – WoShiNiBaBa

関連する問題