Angular 5-如何将服务注入组件/服务之外

时间:2018-09-19 08:02:57

标签: angular

我正在尝试在组件外部使用服务。
我的最终目标是在包装到数据对象中的函数上使用我的服务,该函数将传递给路由器,以便稍后由我的Breadcrumb使用。

以下是我想要的示例:

{
    path: 'user-management/:login',
    component: UserMgmtDetailComponent,
    data: {
        pageTitle: 'userManagement.home.title',
        getChildBreadcrumb: (login) => {
            return 'User : ' + login;
        }
    }
}

所以我希望我的getChildBreadcrumb中的函数使用服务,以便它可以检索任何类型的值(例如'login'用户的名字)。

我一直在研究Injector,但是我不确定它能完成这项工作。 这是我一直在尝试实现的,但是我有一个

  

“没有HttpClient的提供者!”错误:

const injector = Injector.create({
  providers: [{
    provide: UserService,
    deps: [HttpClient]
  }]
});
let userService = injector.get(UserService);

如果您有任何线索为什么我的解决方案无法正常工作,或者有任何其他解决方案,那将是很棒的!

谢谢。

1 个答案:

答案 0 :(得分:0)

通常在您没有将HttpClientModule添加到imports的{​​{1}}数组中时发生。如果您还没有这样做,请先尝试。