angular - 角路由器激活路由
问题描述
我想检查地址栏是否包含“admin”
地址:http://localhost:4200/admin
constructor(
private route: ActivatedRoute
){
this.route.paramMap.subscribe((paramMap: ParamMap) =>{
console.log(paramMap.has('/admin'));
}
)
但它给了我虚假。我希望是真的
解决方案
如果要在构造函数中执行此操作,请使用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。
推荐阅读
- azure-cosmosdb - CosmosDB 中的逻辑分区扫描是否总是以相同的顺序返回项目?
- apache-spark - 使用 mesos 的火花集群
- vb.net - 如何从交叉表创建 Crystal Reports 折线图
- android - onServiceDisconnected(崩溃或被 oom 杀死)
- arrays - Kotlin 使用另一个数组初始化一个数组
- php - 将 htaccess 与 Codeigniter 和特定规则一起使用
- php - 角/Laravel CORS
- android - 手机兼容性
- c# - CheckBox 选择或取消选择一列 SQL 的所有项目
- angular - TypeError:无法在单元测试角度应用程序上读取未定义的属性“订阅”