【问题标题】:Angular reinitialize component when i go back to previous component当我回到上一个组件时,角度重新初始化组件
【发布时间】:2020-01-14 00:14:30
【问题描述】:

我正在使用 Angular v5。

我有 home 组件和 home2 组件

路由设置:

{
path: "home", 
component: homecomponent
}, 
{
path:"home2", 
component: home2component
}
{
path:"**", 
redirectTo:"/home", 
pathMatch: "full"
}

我在重定向回主组件时遇到问题。 home 组件完成重新初始化。

如何管理 home 组件的状态?

【问题讨论】:

  • 您不想重新初始化组件?
  • 是的。我不想重新初始化

标签: javascript node.js angular typescript ecmascript-6


【解决方案1】:

这是正常行为,因为当您访问 Angular 组件时,Angular 会触发生命周期挂钩 ngOnInit 来初始化组件

在您离开组件后,组件将使用ngOnDestroy 销毁以避免内存泄漏。

【讨论】:

  • 好的,知道了。但是如何在不使用状态管理库的情况下对其进行管理。
  • 你知道吗?如何防止破坏?
【解决方案2】:

管理状态是一个难题。我们需要协调多个后端、Web Worker 和 UI 组件,所有这些都同时更新状态。

您可以使用 Ngrx 来管理 Angular 2+ 中组件的状态

这是 NgRx 中这些组件之间的交互:

构成 NgRx 的有五个部分:

  1. 商店
  2. 列表项
  3. Reducer(和 Meta-Reducer)
  4. 操作
  5. 选择器
  6. 效果

Ngrx 为您的应用程序的状态提供单一事实来源。

你可以了解更多关于 Ngrx here

【讨论】:

  • 感谢您的建议,但我的应用程序非常复杂。我无法在我的应用程序中添加状态管理
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多