gpt4 book ai didi

angular - 如何在导出函数中注入(inject)服务?

转载 作者:太空狗 更新时间:2023-10-29 17:15:36 26 4
gpt4 key购买 nike

我写了一个“弹出式”消息(类似 android toast 的)组件。所有其他组件都将它作为同胞并通过共享服务访问它。现在我也想从实用函数中使用它,就像这样:

export function handleError(errorResp: Response | any): Observable<string> {
....
// here I would like to display the message
return Observable.throw(errMsg);
}

我想我可以将消息服务作为参数传递给 handleError,但我觉得它不是 DRY,因为我需要从每个组件事件中创建它,尽管组件不需要它用于其他目的。你能给我一些指导吗?

最佳答案

由于此功能在您的 Angular 应用程序之外,因此没有太多选择。

  • 通过参数传递,或者
  • 直接导入服务(通过 Javascript 导入,因为 Angular 的服务只是一个普通的 Javascript 类),然后使用它。请注意,它可能无法工作,具体取决于实例化服务所需的要求(例如它是否使用 Angular 的某些功能,或使用 DI 注入(inject)其他服务),或者
  • 您可以将您的 handleError 函数放在另一个可以通过依赖注入(inject)获取 Toast 的服务中。

关于angular - 如何在导出函数中注入(inject)服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45031433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com