角度,后退和快速前进会导致问题(组件未损坏)

时间:2018-11-26 17:30:20

标签: angular typescript angular6 ngrx

出于这个问题的目的,我将尝试简化应用程序。假设我们有两个页面:

  1. / home
  2. /编辑

进入/edit页时,对后端执行了一个请求beginEdit。当离开/edit页面(即转到/home)时,向后端执行了endEdit请求。我有一个canDeactivate卫士,可捕获导航并提示用户是否要将参数设置为true或false(此示例中的参数无关紧要)。问题是,当我模拟缓慢的网络速度并导航到/home(或只是按回),然后快速向前按浏览器时,请求已通过,但组件并未销毁。因此,我在页面上所做的任何事情都不再有效。我无法将请求移至ngOnDestroy(),因为我必须确保请求已通过。

有解决这个问题的好方法吗?

编辑:我添加了一个sample

  1. 转到组成部分(link)
  2. 点击Component Two按钮
  3. 点击Component One按钮
  4. 我添加了一些延迟...向浏览器的前进按钮发送垃圾邮件,直到该按钮变为活动状态
  5. 一路检查控制台

endEdit页面上调用Component Two API之后,它应该始终销毁组件。

0 个答案:

没有答案