我尝试遵循有角度的教程,以便在我的项目中提供服务。
这是我的身份验证服务:
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';
我使用从互联网购买的高级模板,该模板使用惰性路径。
我错了哪里以及如何解决此案? 添加新服务时,我也会遇到相同的错误。
答案 0 :(得分:2)
如果您使用过providedIn: 'root'
,则无需将其添加到提供程序中。您的服务将作为整个应用程序的 singleton 。从提供商处删除服务。
providedIn
让我们不要将其添加到提供程序中。我们可以只指定我们希望它提供给哪个模块。