gpt4 book ai didi

angular - 需要在函数中访问服务

转载 作者:太空狗 更新时间:2023-10-29 17:57:20 25 4
gpt4 key购买 nike

我有一个服务 (AuthService),我需要在我的 restangularInit 函数(在我的 app.module.ts 中)中访问,但我不知道如何访问,我无法访问

我曾尝试将其移至 AppModule 类,但到那时为时已晚。

调用服务功能,例如。 getToken 按预期工作。

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { MaterialModule } from '@angular/material';
import { FlexLayoutModule } from "@angular/flex-layout";
import { RestangularModule } from 'ng2-restangular';

// Components
import { AppComponent } from './app.component';
import { ProductComponent } from './components/product/product.component';

// Services
import { AuthService } from './services/auth.service';

export function restangularInit(RestangularProvider, AuthService) {
console.log(AuthService); // this is undefined
let token = AuthService.getToken(); //This is what I want to do
RestangularProvider.setBaseUrl('api');
RestangularProvider.setDefaultHeaders(
{'Authorization': 'Bearer ' + token},
);
}

@NgModule({
declarations: [
AppComponent,
ProductComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
MaterialModule,
FlexLayoutModule,
RestangularModule.forRoot(restangularInit)
],
providers: [
AuthService
],
entryComponents: [ProductComponent],
bootstrap: [AppComponent]
})
export class AppModule { }

最佳答案

创建一个静态方法 getToken() 然后您可以像在代码中那样访问它。

let token = AuthService.getToken(); //This is what I want to do

关于angular - 需要在函数中访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42596824/

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