Подтвердить что ты не робот

Маршрутизация в Метеор

В Meteor я использую Backbone, чтобы обеспечить маршрутизацию для разных страниц в моем приложении. В настоящее время у меня есть профиль и страница администрирования. Когда я перехожу на страницу профиля, она появляется так же, как и должно быть, однако, когда я иду в администрацию, Метеор возвращается на главную страницу.

В качестве побочной заметки, если у кого-то есть лучший образец или лучшая практика для страниц в 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');
}

И следующий код в моем маршрутизаторе Backbone:

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, похоже, не перезагружает выбранную страницу в любом случае, и шаблон все еще попадает в последнее место -statement.

4b9b3361

Ответ 1

ОБНОВЛЕНИЕ. Железный маршрутизатор устарел в пользу Flow Router. Есть сильные признаки того, что Flow Router будет поддерживаться как часть основного Meteor в будущем.

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

OUTDATED: ранее используемый маршрутизатор был Iron Router:

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

В своем выпуске Iron Router объединил усилия авторов двух наиболее широко используемых метеоритных маршрутизаторов (meteor-router и mini-pages), и был фактическим оффициальным маршрутизатором для Meteor до Flow Router.

Ответ 2

Многие люди используют эту систему маршрутов:

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

Он очень прост в использовании и сделан для Метеор.

Ответ 3

В первые дни Meteor рекомендуется использовать Backbone для маршрутизации.

Маршрут Андрей указал на свой пост, стал самым популярным выбором: https://github.com/iron-meteor/iron-router

Более минималистичным решением является маршрутизатор потока: https://github.com/meteorhacks/flow-router

Чтобы сделать информированное решение, которое можно использовать, вы можете прочитать о различиях обоих маршрутизаторов.