router.navigate与警卫无法正常工作

时间:2017-09-24 22:33:52

标签: angular angular2-routing

我的应用中有2条路线:

  1. ' / auth',带有警卫IsNotLoggedIn。
  2. ' / main',带着警卫IsLoggedIn。
  3. 内部' / auth'我有2条儿童路线:  1.登陆' - 一个页面,其中包含一个指向登录页面的按钮。  2.登录' - 一个简单的登录页面

    内部' / main'我有1个孩子路线:  1.' home' - 我的主页。

    在我的根路线' /'我重定向到' / auth', IsNotLoggedIn 后卫检查用户是否未登录

    • 如果他不是,他会被重定向到' / auth / landing'。
    • 如果用户已登录,我会将其重定向到' / main'

    在我的 IsLoggedIn 后卫中,我会检查用户是否已登录

    • 如果用户已登录,我会将其重定向到' / main'
    • 如果他不是,他会被重定向到' /' (然后他被重定向到' / auth')。

    我的问题在登录后开始

    用户登录后,我拨打route.navigate([' /'])。结果应该是用户最终被重定向到' / main / home'但出于某种原因,他被重定向到' / auth / landing' 当我看到日志时,我看到没有我的警卫被召唤。
    当我刷新页面时,用户被重定向到' / main / home'因为它本来应该有。

    请帮我解决这个问题。 谢谢!

0 个答案:

没有答案