angular - ERROR 错误:NG0200:DI 中检测到 DishService 的循环依赖
问题描述
import { Inject, Injectable } from '@angular/core';
import { Dish } from '../shared/dish';
import { DISHES } from '../shared/dishes';
import { Observable, of } from 'rxjs';
import { catchError, map } from 'rxjs/operators';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { baseURL } from '../shared/baseurl';
@Injectable()
export class DishService {
getDishes(): Observable<Dish[]> {
return this.http.get<Dish[]>(baseURL + 'dishes');
}
getDish(id: string): Observable<Dish> {
return this.http.get<Dish>(baseURL + 'dishes/' + id);
}
getFeaturedDish(): Observable<Dish> {
return this.http.get<Dish[]>(baseURL + 'dishes?featured=true').pipe(map(dishes => dishes[0]));
}
getDishIds(): Observable<number[] | any> {
return this.getDishes().pipe(map(dishes => dishes.map(dish => dish.id)));
}
constructor(private dishService: DishService,private http: HttpClient,
@Inject('BaseURL') private BaseURL: any) {}
}
我无法在我的本地主机上加载我的代码 我无法在我的本地主机上加载我的代码我正在使用 Coursera 学习角度。这段代码是我课程的练习
解决方案
从. private dishService: DishService
_ constructor
因为它取决于导致无限循环的自身。
@Injectable()
export class DishService {
...
constructor(private http: HttpClient,
@Inject('BaseURL') private BaseURL: any) {}
}
参考
推荐阅读
- r - 按单个字符字段上的向量过滤行,可能命中不止一个
- express - 无法将快速请求上下文传递给 OAuth2 模型
- r - 在 R 中用 Shiny 绘制散点图;情节没有更新,也没有完全互动
- python - python中的布尔值函数
- html - Angular + html中的可折叠导航栏
- python - 如何从标签中提取文本?
- hibernate - 如何使惰性关系保持在休眠状态下反应
- firebase - 如何在 Flutter Firestore 聊天应用程序上实现“消息未送达”
- excel - VBA/Excel - 如果相邻单元格的值匹配,则添加单元格值
- python - 基于 \n 和从文本中拆分句子