Angular 2激活路线

时间:2017-06-30 19:28:18

标签: angular router

也许我错过了什么?

在Angular 2组件中,我只是想获得完整的激活路线。

我不想使用location.href

我的构造函数如下:

constructor(private route: ActivatedRoute) {}

ngOnInit()我尝试在这里找到值无效:

this.route.data.url

任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:9)

您不需要使用ActivatedRoute,您需要使用Router以字符串形式查询当前网址:

constructor(r: Router) {
   console.log(r.url);
}

答案 1 :(得分:4)

更简单的解决方案是使用@angular/common中的LocationStrategy类直接从浏览器的URL表示和读取路由状态,这比尝试以路由器URL形式获取路由器URL时更方便this.router.url字符串。

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


export class MyComponent implements OnInit {

    constructor(private url:LocationStrategy) { }

    ngOnInit() {
          //this will log the current url
        console.log(this.url.path());
    }

}