我正在搜索访问已加载路线的方式。
最初路由更改可以通过以下路由器事件进行订阅:
@Directive({ selector: '[myDirective]' })
export class TestDirective {
constructor(private _router: Router) {
this.doAction()
}
doAction(): void {
this._router.events
.filter((event: Event) => event instanceof NavigationEnd)
.subscribe(event => {
/// ... get current route data
})
}
}
}
主要问题是如何在subscribe()???
中获取当前路由数据在有角度的2文件中,搜索没有结果。
答案 0 :(得分:2)
我有解决方案,请尝试此操作。
import { Router, ActivatedRoute } from '@angular/router';
currentRoute:any;
constructor(private router: Router, private activatedRoute: ActivatedRoute,) {}
ngOnInit() {
this.router.events.subscribe((url) => {
this.currentRoute = url;
console.log(this.currentRoute);
});
}
从查询参数中获取值
import { Router, Route, ActivatedRoute } from '@angular/router';
queryParams:string;
constructor(private router: Router, private actRoute: ActivatedRoute)
{
this.queryParams=
this.router.routerState.snapshot.root.queryParams["oauth_token"];
}
使用此方法,您将获得oauth_token到queryParams的值。我觉得这对你很好
注意:您的网址将与http://example.com?oauth_token=123
类似