17

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 ステートメントにヒットします。

4

3 に答える 3

25

更新: Iron ルーターは、Flow Router を支持して廃止されています。Flow Router が将来、コア Meteor の一部としてサポートされるという強い兆候があります。

https://github.com/meteorhacks/flow-router

時代遅れ: 以前に一般的に使用されていたルーターは Iron Router でした:

https://github.com/EventedMind/iron-router

そのリリースで、Iron Router は、最も広く使用されている 2 つの meteor ルーター ( meteor-routermini-pages ) の作成者の努力を組み合わせたものであり、Flow Router より前の Meteor の事実上の公式ルーターでした。

于 2013-09-13T21:39:16.463 に答える
9

多くの人がこのルート システムを使用しています。

https://github.com/tmeasday/meteor-router

本当に使いやすく、Meteor 用に作られています。

于 2012-11-29T19:10:33.413 に答える