【问题标题】:FlowRouter force ignore global triggerFlowRouter 强制忽略全局触发器
【发布时间】:2016-10-04 15:59:50
【问题描述】:

我有一个像这样设置的 FlowRouter 触发器:

FlowRouter.triggers.enter([function(context,redirect){
  if(!Meteor.userId()) {
    FlowRouter.go('home');
  }
}]);

如果用户未登录,这会将用户重定向到主页。我想做的是设置另一条路线,如下所示:

FlowRouter.route('/:name', {
  name: 'menu',
  action() {
    BlazeLayout.render('MenuLayout');
  }
});

我想做的是允许用户访问/:name 路由,即使他们没有登录,但显然全局触发器阻止我这样做,因为它只是将我重定向到主页如果我尝试在注销时访问/:name 路由。

有什么方法可以让这个特定的路由忽略全局触发器?

【问题讨论】:

  • 你能发布你的完整脚本 route.js 吗?
  • @John 我设法通过触发路由内的重定向来绕过它,而不是设置全局触发器。

标签: javascript meteor flow-router


【解决方案1】:

这应该可以解决问题:

FlowRouter.triggers.exit([trackRouteExit], {except: ["home"]});

【讨论】:

    【解决方案2】:

    我设法通过触发路由内的重定向来绕过它,而不是设置全局触发器。

    如果有人有其他方法,我很乐意看到。

    【讨论】:

      猜你喜欢
      • 2011-11-12
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多