angular - 为什么我得到相同服务的两个不同实例?
问题描述
我有具有公共 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 实例?如何防止这种情况?
解决方案
推荐阅读
- objective-c - 尽管成功加载了来自 URL 的 HTML 内容,如何从 WKWebView 中的 URL 插入 CSS
- jquery - iTextSharp pdf 在浏览器 asp .net mvc 上下载
- azure - Azure - 将文件从本地实时复制到 blob
- xml - xsl:apply-templates 正确放置
- reactjs - 为什么没有触发 React Render 元素
- jquery - 使用 jquery 提交文本框的正则表达式验证
- javascript - 如何分别在桌面视图和移动视图中显示两个图像。
- javascript - AJAX 调用不起作用 - 为什么添加此函数时其他脚本函数会被阻止?
- mongodb - mongodb聚合中的$replaceRoot
- java - Java - 允许自定义约束为空