Маршрутизация в Метеор
В 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.
Ответы
Ответ 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
Чтобы сделать информированное решение, которое можно использовать, вы можете прочитать о различиях обоих маршрутизаторов.