在 Angular 中使用 HTTP 获取数据
Fetch data using HTTP in Angular
我是 Angular 和 Http 服务的新手。我创建了一个员工列表组件和一个名为 employee.service.ts 的服务,它进行 Http 调用。我也正确地映射了 observable,
我还在资产中创建了一个名为 employee.json 的 json 文件,用于存储我的数据。没有任何编译错误。但它在运行时失败了。我收到以下错误。
NullInjectorError: R3InjectorError(AppModule)[EmployeeService -> EmployeeService -> EmployeeService]:
员工-list.component.html
<h2>Employee List</h2>
<ul *ngFor="let employee of employees">
<li>{{employee.name}}</li>
</ul>
employee.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { IEmployee } from '../employee';
import { Observable } from 'rxjs';
@Injectable() export class EmployeeService{
private _url: string ="/assets/data/employee.json";
constructor(private http:HttpClient) {}
getEmployees(): Observable<IEmployee[]>{
return this.http.get<IEmployee[]>(this._url);
}
}
员工-list.component.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { IEmployee } from '../employee';
import { Observable } from 'rxjs';
@Injectable() export class EmployeeService{
private _url: string ="/assets/data/employee.json";
constructor(private http:HttpClient) {}
getEmployees(): Observable<IEmployee[]>{
return this.http.get<IEmployee[]>(this._url);
}
}
错误很明显。您应该在 module.ts
中提供 employeeService
import employeeService
并将 "EmployeeService" 添加到供应商数组
我是 Angular 和 Http 服务的新手。我创建了一个员工列表组件和一个名为 employee.service.ts 的服务,它进行 Http 调用。我也正确地映射了 observable,
我还在资产中创建了一个名为 employee.json 的 json 文件,用于存储我的数据。没有任何编译错误。但它在运行时失败了。我收到以下错误。
NullInjectorError: R3InjectorError(AppModule)[EmployeeService -> EmployeeService -> EmployeeService]:
员工-list.component.html
<h2>Employee List</h2>
<ul *ngFor="let employee of employees">
<li>{{employee.name}}</li>
</ul>
employee.service.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { IEmployee } from '../employee';
import { Observable } from 'rxjs';
@Injectable() export class EmployeeService{
private _url: string ="/assets/data/employee.json";
constructor(private http:HttpClient) {}
getEmployees(): Observable<IEmployee[]>{
return this.http.get<IEmployee[]>(this._url);
}
}
员工-list.component.ts
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { IEmployee } from '../employee';
import { Observable } from 'rxjs';
@Injectable() export class EmployeeService{
private _url: string ="/assets/data/employee.json";
constructor(private http:HttpClient) {}
getEmployees(): Observable<IEmployee[]>{
return this.http.get<IEmployee[]>(this._url);
}
}
错误很明显。您应该在 module.ts
中提供 employeeServiceimport employeeService
并将 "EmployeeService" 添加到供应商数组