首页 > 解决方案 > 如何使用必须要求的查询参数制作角度路线?

问题描述

如果我想用所需的参数做角度路线,那么我会写在app-routing.module.ts

 { path: 'users/:id', component: UserDetailsComponent },

我现在需要有角度路线,但有查询参数。

我知道我可以从打字稿文件中构建它,例如

 this.router.navigate(['.'], {
      relativeTo: this.activatedRoute,
      queryParams: {departmentId:1},
      queryParamsHandling: 'merge'
    });

但问题是当用户例如可以departmentId=1从我的路线中删除查询参数时

localhost:4200/users?departmentId=1并且页面仍然会加载。在这种情况下,我想显示 404 页面,为此我在应用程序路由模块中有通配符。

我怎样才能做到这一点 ?

标签: angular

解决方案


您可以在组件的构造函数中订阅 ActivatedRouteSnapshot,它会在开始时为您提供所有必需的项目、queryParams、url,此时您可以应用路由逻辑。

阅读更多关于https://angular.io/api/router/ActivatedRouteSnapshot


推荐阅读