【发布时间】:2017-11-30 11:00:59
【问题描述】:
该应用程序有一个包含 2 到 3 个类别按钮的页面。基本上,单击按钮将拉取每个类别中的项目列表,一旦 API 获取的数据可用,该页面就会显示。
我已经设计了带有解析 API 调用的 Angular 2 应用程序路由,当我们将应用程序功能迁移到 Angular 4 时,我不应该在页面加载时用微调器阻塞整个页面。
当用户点击一个类别时,如果响应延迟,他可能会点击另一个类别。当他导航回来时,他希望数据被加载到以前点击的类别中,但由于Navigation ID does not match with the current route Angular 2/4 取消了路由
为了更好地理解,请参阅下面的 plnkr 链接。 http://embed.plnkr.co/UiyhZWCl63Tfq41WY48q/
同时点击星球和人物,观察只有一个部分加载,其他部分不加载数据。如果您进行检查,您会看到引发了 NavigationCancel 事件
【问题讨论】:
-
plunker 不工作,您能检查一下吗?
-
@Hurix plnkr 抛出错误 'no provider for ApplicationRef'
-
@trungk18 现在更正了 plnkr
-
@Dhyey 更正了 plnkr 链接。请立即查看
-
我认为因为在使用resolve时,这意味着我们需要在导航之前获得一些东西。因此,如果您在当前路线得到解决之前导航到另一条路线,它将被取消。 @trungk18 的回答也是我的建议
标签: angular angular2-routing angular2-router angular2-router3