2017-05-09 46 views
0

当配置推送状态与Aurelia和Visual Studio时,我得到一个奇怪的行为,我选择登录后,我的整个应用程序重新加载,而不是路由器只是推到主页。这也发生在我注销时,我进入登录屏幕并刷新整个应用程序。我正在使用Aurelia Auth。任何援助将不胜感激。Aurelia推送状态应用程序重新加载登录和注销

回答

0

我觉得前段时间有同样的问题,这是我转回pushState = false的原因之一(但我的信息可能对您有所帮助)。

不管怎么说,以下问题描述我面临什么:https://github.com/paulvanbladel/aurelia-auth/issues/55

的问题是,内部插件的href设置:

登录 - https://github.com/paulvanbladel/aurelia-auth/blob/master/src/authentication.js#L95-L99

if (this.config.loginRedirect && !redirect) { 
    window.location.href = this.getLoginRedirect(); 
} else if (redirect && isString(redirect)) { 
    window.location.href = window.encodeURI(redirect); 
} 

注销 - https://github.com/paulvanbladel/aurelia-auth/blob/master/src/authentication.js#L139-L143

if (this.config.logoutRedirect && !redirect) { 
    window.location.href = this.config.logoutRedirect; 
} else if (isString(redirect)) { 
    window.location.href = redirect; 
} 

您需要做的是避免这两种情况,即将loginRedirectlogoutRedirect设置为空字符串('')。然后,通过Aurelias路由器做导航你自己,因为我在我的例子一样从GH问题:

return this.auth.login(userInfo) 
    .then(response => { 
    console.log('You signed in successfully.'); 
    this.router.navigate('/contents'); 
    }) 

当然,做你的注销方法在同一台路由器导航。

+0

是的,这听起来完全一样的问题。看起来很奇怪,但我们必须破解它才能正常工作。我一直在考虑它的路由映射与Aurelia路由器的服务器端设置。它似乎并没有像你的问题甚至在这里回答https://github.com/paulvanbladel/aurelia-auth/issues/55 – jamesondev

+0

感谢您的回答。 – jamesondev