Angular 2获取路线没有路线提供者

标签 angular

在 Angular 2 中,我希望能够使用 route.path 来……获取路径。

在组件构造函数中我有:

constructor(private route: Route) {}

所以我希望能够调用:

this.route.path

对于应用 Bootstrap ,我得到了:

bootstrap(AppComponent,
[
    ROUTER_PROVIDERS,
]);

但我仍然收到No Provider for Route! 错误

最佳答案

我假设您要注入(inject) Location 而不是 RouteRoute 用于路由配置,Angular 无法知道要注入(inject)哪个 Route 实例。

Location 提供了path()函数来获取当前的URL。

根据 Angular2 版本,有不同的导入路径。

另见 Location and HashLocationStrategy stopped working in beta.16

<= 测试版 15

import {Location} from 'angular2/router';

>= 测试版 16 < rc.0

import {Location} from 'angular2/platform/common';  
constructor(private location:Location) {
  console.log(location.path());
}

>= rc.0

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

关于Angular 2获取路线没有路线提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067704/

相关文章:

javascript - Angular 没有输入时如何将值设置为0

cordova - 添加滚动到顶部按钮(Ionic 2 | Typescript)

angular - Firestore valueChanges() 在使用 take(1) 时仅发出一次

javascript - 为什么简单的 html 和 css 在 Angular 2 元素中的工作方式与 vanilla html 网站不同

Angular 2 在加载子组件之前获取数据

javascript - 如何在 Angular 中调用用 => 定义的函数?

javascript - 使用装饰器中的原型(prototype)/访问基类属性访问派生类中的基类属性

javascript - 访问字符串列表以推送或更新到模型中的列表

javascript - 如何在 Angular 组件中动态调整 PixiJS (HTML) Canvas 的大小

Angular 6.1.9 嵌套路由到命名导出 - 'Cannot match any routes' 错误