2012-11-29 4 views
17

メテオ私は、バックボーンを使用して、アプリ内のさまざまなページのルーティングを提供しています。私は現在、プロフィールと管理ページを持っています。私がプロフィールページに行くと、それはちょうどそれが表示されるように表示されますが、私が管理に行くと、メテオはメインページに戻ります。流行のルーティング

メテオのページの方が優れたパターンやベストプラクティスを持っていれば、これは非常に面倒なので自由に共有してください。次のように

<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メソッド内のlogステートメントは、未定義のログを2回ログしてから、corrを記録しますMeteorは選択したページをリロードしていないようで、テンプレートは最後のelseステートメントにヒットします。それは本当に使いやすいと流星のために作られたのです

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

:人の

答えて

25

UPDATE:Iron RouterはFlow Routerを推奨していません。今後はstrong indications that Flow Router will be supported as part of core Meteorがあります。

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

古い:以前に一般的に使用されるルータはアイアンルータた:そのリリースで

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

、鉄ルータはの努力を組み合わせました最も広く私たちの2人の著者(meteor-routermini-pages)、フロールータの前に流行のための事実上のオフショアルーターでした。

9

ロットは、このルートシステムを使用しています。

+0

ありがとうございます!試してみよう。 – Rick

+4

これは時代遅れになり、開発が停止しました。後継者のために受け入れられたポストを参照 – BenjaminRH

1

メテオールの初期には、ルーティングにバックボーンを使用することをお勧めしました。

アンドリューは、最も人気のある選択肢となっている、彼のポストで指摘ルータ:https://github.com/iron-meteor/iron-router

より最小限のソリューションは、フロールータです:https://github.com/meteorhacks/flow-router

1を使用するための情報にdecsionを作成するには、次のことができ両方のルータのread about the differences

関連する問題