在Angular 2中,我希望能够使用route.path
来获取路径。
在组件构造函数中,我有:
constructor(private route: Route) {}
所以我希望能够致电:
this.route.path
对于app bootstrap,我得到了:
bootstrap(AppComponent,
[
ROUTER_PROVIDERS,
]);
但我仍然得到无路由提供商!错误
答案 0 :(得分:4)
我假设你要注射的是Location
而不是Route
。 Route
用于路由配置,Angular无法知道要注入哪个Route
实例。
Location
提供path()
函数来获取当前网址。
根据Angular2版本,有不同的路径从哪里导入。
另见Location and HashLocationStrategy stopped working in beta.16
< = beta 15
import {Location} from 'angular2/router';
> = beta 16< rc.0 强>
import {Location} from 'angular2/platform/common';
constructor(private location:Location) {
console.log(location.path());
}
> = rc.0
import {Location} from '@angular/common';
答案 1 :(得分:0)
可以注入Route
类。您可以注入Router
个或RouteParams
:
constructor(private router:Router,private params:RouteParams) {
this.id = params.get('id');
}
如果您需要当前路线的路径,请注入Location
类并使用其path
方法
constructor(private location:Location) {
var path = location.path();
}
答案 2 :(得分:0)
尝试使用ROUTER_BINDINGS。