![]() |
1
1
我的组件也有类似的行为,原因是我在子组件中加载数据的方式。 如果将数据加载到组件的生命周期挂钩中(例如ngoninit),则当您导航到同一路径时,您的子组件将不会重新加载其数据,因为它们已经加载到您的页面中。 在意识到这一点之后,我开始遵循本文中描述的“数据流”方法: https://bulldogjob.com/articles/539-scalable-angular-application-architecture ,其中有一个顶级组件加载所需的所有数据,该数据通过@inputs传递给子组件。以这种方式构建组件,解决了我的问题。 作为解决方案,您还可以创建一个新组件作为重定向器。因此,您可以创建一个加载此新组件的新路由,并在其中将浏览器重定向到所需的路由。这样,您将再次加载每个组件(主组件及其子组件),而不需要执行window.location.reload()。 这种方法的缺点是它会干扰您的导航历史(即,它会破坏后退按钮),您必须手动修复它。 |
![]() |
2
0
我建议你实施Redux link 国家管理框架。 它是管理应用程序状态的一种很好的方法。它是一个单一的、不变的数据存储。 单向数据流。 一种基于纯函数和动作流的改变方法。 |