如果在同一组件上,Angular router.navigate不会路由到解析器

时间:2020-01-20 04:50:35

标签: javascript angular angular-routing angular-resolver

我从页面顶部的导航栏组件执行搜索。 从导航栏输入搜索条件时,可以转到“成员”组件页面,但是一旦进入“成员”组件,然后更改查询参数并尝试再次运行router.navigate() 我无法让Angular打我的解析器。

这是我的工作,也是我在Navigation调用上方尝试过的工作,都不应该在再次在组件上命中我的解析器后,ResureRoute或onSameUrlNavigation似乎都无法工作。

问题是-应该吗?因为也许我在某处有其他问题!

// tried with no luck
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
// tried with no luck
this.router.onSameUrlNavigation = 'reload';
this.router.navigate(['/members'], {
  queryParams: {
    latitude: this.locationLatitude,
    longitude: this.locationLongitude,
    gender: this.gender,
    minAge: this.ageFrom,
    maxAge: this.ageTo,
    orderBy: this.orderBy
  }
});

1 个答案:

答案 0 :(得分:0)

实际上,在这种情况下会调用解析器。您可以简单地通过调试器进行检查。我最近有一个类似的问题,它发生的原因是我的解析器中有一个错误,而组件中还有一个错误(如@smokey-dawson所写-在我的情况下,我错过了route.data的订阅)