angular - 当我通过 angular7/8 中的路由在两个或多个组件之间切换时如何避免丢失数据?
问题描述
我有 3 个组件,它们不是彼此的父亲或孩子,我通过路由在它们之间切换,它们每个内部都有一个表单,我想在切换(通过路由)到之后使用另一个内部的表单数据,但是由于组件在通过路由切换到其他地方后会破坏,它们的数据也会破坏,所以我该怎么办?(我尝试了服务但没有回答!)
解决方案
有2种方式:
- 使用可注入对象:
//班级
@Injectable({
providedIn: 'root'
})
export class GlobalDataService {
public var1: number = 0;
public var2: string = 0;
}
//Component 1
export class Component1 {
constructor(public globalDataService : GlobalDataService ) {
this.globalDataService.var1 = 1;
}
}
//Component 2
export class Component2 {
constructor(public globalDataService : GlobalDataService ) {
console.log(this.globalDataService.var1) //Should logs 1;
}
}
- 创建一个 Observable (但我认为在这种情况下它是一个矫枉过正)
推荐阅读
- python - 使用汤,find_all 返回一个 [ ] 值
- python - 训练 Keras 模型期间的 GPU 使用率为 1%
- javascript - pdfmake中分页符处的动态副标题问题
- python - 如何在 Excel 中使用“FindNext”?
- c# - 从周期性异步请求中创建 observable
- ansible - Ansible json_query 过滤字典列表中的数据
- r - 将图例添加到 ggarrange 情节
- c# - 运行 azure 函数时,Azure 应用程序配置未更新
- amazon-web-services - 在 AWS IoT Core 规则操作或 AWS Timestream 数据库表中,我们如何指定/配置措施?
- python - 如何预热 Numba 的 JIT?