您的位置:首页 > Web前端 > AngularJS

Angular获取当前激活路由与监听路由

2019-08-02 17:01 2241 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/moqiuqin/article/details/98210687

Angualr获取当前激活路由可以通过

PlatformLocation
Router
获取,还有一说
Location
也可以,看名字估计是没问题的。这里就写前面两个,
PlatformLocation
这个包来自
@angular/common
Router
来自
@angular/router

constructor(
private route:Router,
private planform: PlatformLocation
) { }

routerPath:string="";
ngOnInit() {
//去掉路由前面的'/'
console.log("PlatformLocation方式:",this.planform.pathname.substr(1));

//同时具有监听的功能
this.route.events.subscribe((data)=>{
//data返回一堆路由事件,所有得筛选自己需要的,这里选择路由导航结束之后
if(data instanceof NavigationEnd){
this.routerPath=data.url.substr(1);
console.log("Router方式:",this.routerPath);
}
})
}

结果:

两种方式都能获取到当前激活的路由名称,但是相对而言使用

Router
会比较好,因为
Router
能够实时的监听路由的变化,一旦路由发生了变化能马上监听到,在上面的代码中
events
事件订阅之后会返回对个不同的路由导航事件,这里需要根据自己的需要进行选择,关于路由导航事件,官网里都有介绍,参见这里路由事件部分

其实

ActivatedRoute
也可以获取,但是实际使用的时候要么繁琐要么为空,不推荐

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: