Meteor では、アプリ内のさまざまなページのルーティングを提供するために Backbone を使用しています。現在、プロフィールと管理ページがあります。プロファイル ページに移動すると、正常に表示されますが、管理画面に移動すると、Meteor がメイン ページに戻ります。
補足として、誰かが Meteor のページのより良いパターンまたはベスト プラクティスを持っている場合は、これは非常に面倒なので、遠慮なく共有してください。
次のテンプレートを使用して、表示するページを決定します。
<template name="root">
{{> navbar}}
{{#if pageIs "profile"}}
{{> profile}}
{{else}}{{#if pageIs "administration"}}
{{> administration}}
{{else}}
{{> main_page}}
{{/if}}
{{/if}}
</template>
pageIs メソッドは次のとおりです。
Template.root.pageIs = function(page){
console.log(Session.get('page'));
return page === Session.get('page');
}
そして、バックボーンルーターの次のコード:
var ProtonRouter = Backbone.Router.extend({
routes: {
"profile": "profile",
"admin": "administration",
"administration":"administration"
},
profile: function () {
Session.set('page','profile');
},
administration: function (){
Session.set('page', 'administraion');
},
mainPage: function(){
Session.set('page',null);
}
});
pageIs メソッドのログ ステートメントは undefined を数回ログに記録し、管理時であっても正しいページをログに記録しますが、とにかく Meteor は選択されたページをリロードしないようで、テンプレートはまだ最後の else ステートメントにヒットします。