可注射角度服务错误

时间:2018-08-02 07:40:01

标签: angular typescript

我尝试遵循有角度的教程,以便在我的项目中提供服务。

这是我的身份验证服务:

import {Injectable} from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {environment} from '../../environments/environment';

const httpOptions = {
    headers: new HttpHeaders({'Content-Type': 'application/json'})
};

@Injectable({providedIn: 'root'})
export class AuthService {

    private authUrl = environment.apiUrl + 'auth/';

    constructor(private http: HttpClient) {
    }

    login(username, password) {
        return this.http.post(this.authUrl + 'login', {username: username, password: password}, httpOptions);
    }

}

,然后在app.module的{​​{1}}中添加AuthService

providers中,我也导入:

app.module

这是我得到的错误:

import {HttpClientModule} from '@angular/common/http';

我使用从互联网购买的高级模板,该模板使用惰性路径。

我错了哪里以及如何解决此案? 添加新服务时,我也会遇到相同的错误。

1 个答案:

答案 0 :(得分:2)

如果您使用过providedIn: 'root',则无需将其添加到提供程序中。您的服务将作为整个应用程序的 singleton 。从提供商处删除服务。

providedIn让我们不要将其添加到提供程序中。我们可以只指定我们希望它提供给哪个模块。