gpt4 book ai didi

javascript - angular 2 transient 提供者而不是单例

转载 作者:太空狗 更新时间:2023-10-29 18:07:48 25 4
gpt4 key购买 nike

我有提供者,我想将其作为 transient 而不是单例。我知道我可以手动创建对象,但我仍然想通过依赖注入(inject)器解决依赖关系。

export class HubServiceBase {

private readonly hubAuthorizationQueryParameter = 'authToken';

onCreate = new EventEmitter<any>();
connectionEstablished = new EventEmitter<Boolean>();
connectionExists = false;

private _hubConnection: any;

constructor(public authManager: AuthenticationProvider) {
}

initialize(hubSubRoute: string): void{
const accessToken = this.authManager.getRawAccessToken();

let hubUrl = environment.baseUrl + hubSubRoute;
if (accessToken) {
hubUrl += '?' + this.hubAuthorizationQueryParameter +'=' + accessToken;
}

this._hubConnection = new HubConnectionBuilder()
.withUrl(hubUrl)
.build();
}
//...
}

可以从不同的服务调用初始化函数,它维护着我的服务器的网络套接字。可以同时打开多个套接字。

每次页面请求时,如何从依赖注入(inject)器获取新的依赖注入(inject)器?

最佳答案

@Component 装饰器中使用 providers 属性。

@Component({
selector: 'selector-name',
templateUrl: './template.component.html',
providers: [ SomeService ]
})

文档(不是很好):https://angular.io/api/core/Component

示例:https://stackblitz.com/edit/angular-playground-vewqis?file=app%2Fhello-framework%2Fcomponents%2Fcounter%2Fcounter.component.ts

关于javascript - angular 2 transient 提供者而不是单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51033903/

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