![](/img/trans.png)
[英]Angular2 - Invalid provider error when injecting service into service
[英]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
裝飾器的providers
和viewProviders
屬性:
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.