angular - 路由器导航而不调用服务器——重用组件?
问题描述
我有三个相关的下拉列表,用户将单击它们以浏览不同的区域,并且当用户单击它们时,我希望路由器更新,但不重新加载页面。
我尝试了 location.replaceState(),但我无法使用它创建 UrlTree,因为 location 不会更新路由器。
我以这种方式设置了路径
{
path: '/area/ma/:id',
component: SomeComponent
}
在下拉列表中,(click)
调用router.navigate()
并设置上面的 url。现在SomeComponent
已经初始化,它总是调用一个服务来联系服务器以获取区域数据ngOnInit()
有没有办法防止这种情况发生?
some.component.ts
ngOnInit() {
this.getArea();
}
getArea(): void {
this.metadataService.getMeta()
.subscribe(meta => {
this.area= meta;
});
}
解决方案
推荐阅读
- javascript - 无需确认即可从网站自动打印 pdf
- javascript - 有没有什么方法可以使用 angular slickgrid 中的打字稿在表格单元格中显示具有不同选项的下拉菜单
- asp.net-core - blazor 中非布尔值的条件属性
- c++ - GLM的向量矩阵乘法行为?
- android - 是否可以使用 Android Studio 调试 linux 原生进程?
- android - 在alertDialog中单击按钮时如何更新recyclerView
- flutter - 颤振导航未定义的“上下文”
- code-coverage - 如何加载coverage_db?
- mongodb - 在 mongodb 中查询项目字段直到 sum = n
- google-cloud-platform - GCP FireStore:“地图地图”VS“地图数组”数据类型