2012-11-29 5 views
17

In Meteor verwende ich Backbone, um Routing für die verschiedenen Seiten in meiner App bereitzustellen. Ich habe derzeit ein Profil und eine Verwaltungsseite. Wenn ich auf die Profilseite gehe, erscheint es genau so, wie es sollte, aber wenn ich zur Administration gehe, fällt Meteor zurück auf die Hauptseite.Routing in Meteor

Als eine Randnotiz, wenn jemand ein besseres Muster oder Best-Practice für Seiten in Meteor hat, teilen Sie es gerne, da dies ziemlich umständlich ist.

Ich verwende die folgende Vorlage zu entscheiden, welche Seite zu zeigen:

<template name="root"> 
    {{> navbar}} 
    {{#if pageIs "profile"}} 
     {{> profile}} 
     {{else}}{{#if pageIs "administration"}} 
     {{> administration}} 
     {{else}} 
     {{> main_page}} 
     {{/if}} 
    {{/if}} 
</template> 

Die Pageis Methode ist wie folgt:

Template.root.pageIs = function(page){ 
    console.log(Session.get('page')); 
    return page === Session.get('page'); 
} 

Und der folgende Code in meinem Backbone-Router:

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); 
    } 
}); 

Die Protokollanweisung in der pageIs-Methode wird einige Male undefined protokolliert und protokolliert dann das corr ect-Seite, selbst bei der Verwaltung, Meteor scheint die gewählte Seite trotzdem nicht neu zu laden und die Vorlage trifft immer noch die letzte else-Anweisung.

Antwort

25

UPDATE: Iron Router wird zugunsten Flow Router veraltet. Es gibt strong indications that Flow Router will be supported as part of core Meteor in der Zukunft.

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

OUTDATED: Die bisher häufig verwendete Router war Eisen Router:

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

Bei seiner Veröffentlichung, Eisen Router die Bemühungen der kombinierten Autoren der beiden größten uns Ed Meteor Router (meteor-router und mini-pages), und war der de facto Offcial-Router für Meteor vor Flow Router.

9

Viele Menschen nutzen diese Route System:

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

Es ist wirklich einfach für Meteor zu bedienen und gemacht.

+0

Danke! Ich werde es versuchen. – Rick

+4

Dies ist jetzt veraltet, und die Entwicklung hat aufgehört. Siehe akzeptierten Post für den Nachfolger. – BenjaminRH