gpt4 book ai didi

angular - 从 Angular 2+ 的模块声明中的导出函数访问服务

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

我有以下模块声明:

import { ConnectionService } from './services/connection.service';
import { NgModule } from '@angular/core';
import { Http, RequestOptions } from '@angular/http';
import { AuthHttp, AuthConfig } from 'angular2-jwt';

export function authHttpServiceFactory(http: Http, options: RequestOptions) {
return new AuthHttp(new AuthConfig({
tokenName: 'token',
tokenGetter: (() => sessionStorage.getItem('token'))
}), http, options);
}

@NgModule({
providers: [
{
provide: AuthHttp,
useFactory: authHttpServiceFactory,
deps: [Http, RequestOptions]
}
],
})

export class AuthModule { }

和服务:

import { Injectable } from '@angular/core';

@Injectable()
export class ConnectionService {
id;

getToken() {
return JSON.parse(sessionStorage.getItem('token'))[this.id];
}
}

我需要在模块导出函数的 tokenGetter 中使用服务方法“getToken”,但我无法让它工作,Google 也没有回答我的问题(或者我无法正确查看) .

最佳答案

你好,你可以这样试试吗

export function authHttpServiceFactory(http: Http, options: RequestOptions) {
return new AuthHttp(new AuthConfig({
tokenName: 'token',
tokenGetter: (() => new ConnectionService().getToken())
}), http, options);
}

关于angular - 从 Angular 2+ 的模块声明中的导出函数访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46054598/

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