Angular 7 不会启动导航,没有看到任何错误。有什么问题的提示吗?

Angular 7 won't start navigation, no errors are seen. Any tips on what's wrong?

我有一个 Angular 7 应用程序,我在其中导航到 link 例如eligibility/1,没有问题,网络选项卡显示出站请求。页面呈现后,尝试导航到 eligibility/2(通过 link 单击)不会发送出站请求。

路由器跟踪显示:

这是路由器导航调用后的Javascript。请注意,返回给 temp 的 promise 显示区域状态为 Null 且值为 Array(0)。

这是区域问题吗?请注意,也没有控制台错误。

如果您的组件初始化过程中只有呼出电话,我不希望网络选项卡中有任何内容。 Angular 应用程序是 SPA,处理您的 eligibility url 的组件很可能只创建一次,然后在每次后续导航时从内存中加载,直到被销毁。因此,如果您希望在每次导航时完成某些行为,则必须订阅导航事件并在那里完成您的工作。

我有一个简单的 routing example,听起来它的行为与您描述的相似。希望对您有所帮助。

为了在导航到同一个 Url 时刷新页面,您必须这样配置 RouterModule

@ngModule({
 imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: ‘reload’})],
 exports: [RouterModule],
 })

这将改变您应用程序的整体行为,因此最好订阅 A​​ctivatedRouteparams observable:

this.route.params.subscribe((params) => {
  console.log(params);
  console.log(this.route.snapshot.data);
});

Angular,默认情况下不会刷新已加载的组件。但是可以覆盖该行为,如此处所示。

 // Browser is already on /pathName/5102 
 // We see the proper display which means
 // our router paths are correct.
 // And now we attempt to go to a new path.

 let newLocation = `/pathName/5110`;
 // override default re use strategy
 this.router
    .routeReuseStrategy
    .shouldReuseRoute = function () {
        return false;
 };
 this.router
   .navigateByUrl(newLocation)
   .then(
   (worked) => {
     // Works only because we hooked
     // routeReuseStrategy.shouldReuseRoute 
     // and explicitly told it don't reuse
     // route which forces a reload.
     // Otherwise; the url will change but new
     // data will not display!
   },
   (error) => {
    debugger;
    }
 );