角路由器ActivatedRoute

时间:2018-09-10 16:43:07

标签: angular angular-routing angular-router

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

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

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

但这给了我错误。 我期望是真的

1 个答案:

答案 0 :(得分:1)

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

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

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

Router.url/初始化(稍后填充真实网址),而Location.path()将立即返回真实网址。