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
。
有没有办法根据某些逻辑(例如 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
。