如何将全局参数添加到Meteor Iron路由器?

时间:2015-08-19 15:35:49

标签: meteor

我可以在Iron Router

中指定这样的特定路线
Router.path('/:lang/path')

并根据beforeAction()中的:lang参数更改语言。

我如何在全球范围内这样做,例如每个路径都应该有一个:lang前缀?

(是的,我知道有铁 - 路由器 - i18n包,但我不能在我的上下文中使用它。)

1 个答案:

答案 0 :(得分:0)

这里有一种模式可以帮助您有效地做到这一点:

var myRoutes = ['about','info','help','item','post']; // your list of layouts (use your own names)

myRoutes.forEach(function(r){ // create all your routes as /:lang/routeName
  Router.route(':lang/'+r,{ name: r, controller: 'myController' });
});

myController = RouteController.extend({ // define your own controller
  onBeforeAction: function(){
    Session.set('language',this.params.lang); // set the language
  }
});