Angular 路由器激活路由

Angular Router ActivatedRoute

我想检查地址栏是否包含"admin"

地址:http://localhost:4200/admin

constructor(
private route: ActivatedRoute
 ){
  this.route.paramMap.subscribe((paramMap: ParamMap) =>{
  console.log(paramMap.has('/admin'));
  }
)

但它给了我错误。 我期待 true

如果您想在构造函数中执行此操作,请使用 Location 服务而不是路由器:

import { Location } from '@angular/common';

constructor(private location: Location){
  if (this.location.path().startsWith('/admin')) {
    console.log('true');
  }
}

Router.url/ 初始化(稍后用真实的 url 填充),而 Location.path() 将 return 真实的 url马上。