将服务注入(导入)到我的构造函数中时,我得到一个" No provider"错误

时间:2015-11-11 17:29:14

标签: javascript angular

Angular 2 - 当我将一个服务注入(导入)到我的构造函数中时,我得到一个" No provider"错误。

以下是我导入的服务:

 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);
        })
    }

}

3 个答案:

答案 0 :(得分:1)

AuthService 提供商

中添加app.module.ts

答案 1 :(得分:0)

您很可能没有将EnvironmentService指定为您的应用程序的提供程序。您可以通过在bootstrap函数的第二个参数中传递所有提供程序,或使用Component装饰器的providersviewProviders属性来执行此操作:

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

// or

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

答案 2 :(得分:0)

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

导入后 你会看到 provider 作为一个数组 添加环境服务

providers: [AuthService]