我正在使用Angular 2.1.2。
我有一个鉴权令牌(使用angular2-jwt),如果过期,我的webApi调用将失败并出现401错误。我正在寻找一种解决方案,使用户不会失去任何输入数据。
我可以捕获到这个401错误并打开一个带有登录的模态框。然后用户登录,模态框消失,他们可以看到他们的输入屏幕。然而,失败的请求仍然显示错误,因此我需要重新处理这些请求。如果是路由器导航,则最初的数据未加载。
我可以重新加载页面,但如果我通过router.navigate导航到同一页,则似乎实际上不会重新加载该页面。我不想对单页应用程序进行完整页面重新加载。是否有一种方法可以强制router.navigate运行,即使它是当前页面?
重新导航仍然是一个问题,因为我会丢失尚未保存的任何新输入数据。
理想情况下,请求将暂停,直到用户从模态框中登录。我还没有找到实现这一点的方法。
有什么思路吗?是否有最佳做法?