我正在使用流星路由器包在我的应用程序中设置路线。但是,我需要能够“动态地”设置一些路线。这意味着我有一些“静态”路由和一些“动态”路由,它们会根据某些变量(特别是 URL 的一部分)而变化。
例如,如果用户访问 www.example.com/foo 我的路由应该在所有 URL 前加上前缀foo
,如果用户访问 www.example.com/bar,所有路由都应该有bar
前缀。
伪代码:
Meteor.subscribe('bar', function(){
var prefix = window.location.pathname.replace(/^\/([^\/]*).*$/, '$1');
// "dynamic" routes, generated after 'subscribe' is ready
Meteor.Router.add({
prefix+'/': function() {
// some code
return 'mainTemplate';
},
prefix+'/welcome': 'welcome',
prefix+'/foo': 'foo',
prefix+'/bar': 'bar'
});
)};
// "static" routes, independent of current URL
Meteor.Router.add({
'/': 'home',
'/admin': 'admin'
});