簡體   English   中英

將服務注入(導入)到我的構造函數中時,出現“無提供者”錯誤

[英]When injecting(importing) a service into my constructor I get a "No provider" error

Angular 2 - 將服務注入(導入)到我的構造函數中時,出現“無提供者”錯誤。

這是我要導入的服務:

 export class EnvironmentService {

   public baseurl: string = "/baseurl/example/";  

 }

這是我的班級有錯誤:

import {Http, Headers} from "angular2/http";
import {Injectable} from 'angular2/angular2';
import {EnvironmentService} from './environmentService';

@Injectable()

export class AuthService {

    constructor(private _environmentService: EnvironmentService) {

        //This is where the error is.
        console.log(this._environmentService);

    }

    isUserLoggedIn = (): Promise<boolean> => {   

        return new Promise((resolve, reject) => {
           resolve(true);
        })
    }

}

app.module.ts Providers 中添加AuthService

很可能您沒有將EnvironmentService指定為應用程序的提供者。 您可以通過在bootstrap函數的第二個參數中傳遞所有提供者來實現,或者使用Component裝飾器的providersviewProviders屬性:

bootstrap(AppComponent, [EnvironmentService /*, other providers */]);

// or

@Component({
    // ... component config
    providers: [EnvironmentService],
    // or
    viewProviders: [EnvironmentService]
})
class AppComponent { /* ... */ }

轉到您要使用EnvironmentService的模塊,即app.module.ts或其他模塊。

導入后,您將看到 provider 作為數組添加 EnvironmentService

providers: [AuthService]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM