首页 > 解决方案 > 角路由器激活路由

问题描述

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

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

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

但它给了我虚假。我希望是真的

标签: angularangular-routingangular-router

解决方案


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

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

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

Router.url初始化为/(并稍后填充真实的 url),同时Location.path()将立即返回真实的 url。


推荐阅读