gpt4 book ai didi

组件、服务等之外的 Angular 2 服务注入(inject)

转载 作者:行者123 更新时间:2023-12-04 14:27:35 26 4
gpt4 key购买 nike

想象一下像 LoggingService 这样的服务,其中有一个 log(msg: string)方法。使用 Angular 2 依赖注入(inject),可以很容易地在组件中拥有服务的实例。但是,我找不到在任何不是 Angular 2 组件、服务等的普通类中使用 LoggingService 的可靠解决方案。

例如。该应用程序有一个文件 blacklist.ts,其中包含:

export class Blacklist {
isBlacklisted(name: string): boolean {
let result = false;

if(value == "Alice" || value == "Bob") {
result = true;
LoggingService.log("Name'" + name + "' is blacklisted");
}

return result;
}
}

假设 LoggingServiceAppModule 中提供.如何检索上述示例中的服务实例?

最佳答案

LoggingService 要么是一个静态类
这样你就可以在没有实例的情况下使用它
或者你需要它的实例来调用方法

the whole purpose is to support re-usability use it like this


import {LoggingService} from 'path/to/service'
export class Blacklist {
private loggingService:LoggingService;
isBlacklisted(name: string): boolean {
let result = false;

if(value == "Alice" || value == "Bob") {
result = true;
this.loggingService.log("Name'" + name + "' is blacklisted");
}

return result;
}
}

关于组件、服务等之外的 Angular 2 服务注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42210672/

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