angular - 角度路由组件不会被更新销毁并再次加载
问题描述
当加载组件然后更改为另一条路线,然后再次加载时,我遇到了 angular 2+ 的问题。
我得到以下代码加载一个数组,然后将其加载到ngFor
.
this.sub = this.subjectsService.getAllSubjects().subscribe(subjects => {
this.subjects = subjects;
});
如果我在第一次加载时添加了一个项目,它会正确加载,但如果我更改为另一个组件然后返回,然后添加一个项目,则添加的值不会添加到列表中。
我已经检查过该数组是否在订阅中重置,但不知何故角度不会触发 html 更新。关于为什么会发生这种情况的任何想法?
解决方案
正如上面评论中提到的,您需要退订。这是一个可以提供帮助的快速示例。
import { OnDestroy } from '@angular/core';
class XXXXXX implements OnDestroy {
ngOnDestroy() {
this.sub.unsubscribe();
}
}
推荐阅读
- ruby-on-rails - Rails:有没有办法检测 Active Record 对象是否是用#dup 创建的?
- android - 为什么 GraphView 不能绘制这些点?如果第二个点的 ax 值小于第一个点
- huawei-mobile-services - MAP 套件定价 [每月免费配额 300 美元,]
- java - 使用 Java 在 DynamoDB 中执行批量写入
- java - 如何在不使用密钥的情况下在 AWS Workspace 上运行 Java 代码?
- laravel - 如何将 route.php 中的任何数据发送到控制器文件?
- python - 如何让我的角色在背景之上?如下图所示
- android - 从 React JS 获取事件到 React Native
- javascript - 如何使用 Lightbox 添加项目符号?
- python - 如何修复 KeyError:'33'