首页 > 解决方案 > 为什么我得到相同服务的两个不同实例?

问题描述

我有具有公共 x 属性的锻炼服务:

@Injectable({
  providedIn: "root",
})
export class ExerciseService extends CrudService<IExercise> {
  public x:number = 0;
  exercisesByGroups: IGroupExercises[] = [];
  constructor() {
    super(ResourseApi.exercise, Resourse.exercise);
  }
}

在练习容器组件中,我在构造函数中对其进行了修改:

this.exerciseService.x = 4;

当我在 TrainingContainerComponent 和 console.log x 中注入 ExerciseService 时,我得到 0 而不是 4。

为什么会发生这种情况?这是否意味着我创建了两个 ExerciseService 实例?如何防止这种情况?

标签: angulardependency-injection

解决方案


推荐阅读