Meteor's Iron Router - 在布线前改变路径

Meteor's Iron Router - Alter Path before routing

有没有办法根据某些逻辑(例如 Session 变量)在页面路由之前更改路径?例如:

// Before routing
Router.onBeforeAction(function () {
    if(Session.get('key') === true) {
        prependToPath('prefix');
    }
});

你可以通过你的逻辑使用Iron.Location.get().path、运行获取当前路径,然后使用Router.go()中的新路径。像这样:

// If abc is set on the URL, then keep it there
if (Session.get('abc') === true) { // You can use better logic here
    Router.go('/abc' + Iron.Location.get().path);
}

并确保你在某个地方 Session.set('abc') = false 否则它将继续循环,在无限循环中添加 /abc