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);
})
}
}
答案 0 :(得分:1)
在AuthService
提供商
app.module.ts
答案 1 :(得分:0)
您很可能没有将EnvironmentService
指定为您的应用程序的提供程序。您可以通过在bootstrap
函数的第二个参数中传递所有提供程序,或使用Component
装饰器的providers
和viewProviders
属性来执行此操作:
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]