我正在使用Angular8。当我想通过路由在组件之间共享变量时,请执行以下操作:
state
添加数据,例如:this.router.navigate(["thing/"],{state: {data: {..}}})
history.state.data
获取变量。它可以工作,但是我只是想知道是否有一种更好的方式来在组件之间共享数据,因为我是从浏览器的历史记录中获取数据的,如果我刷新了,就不再有数据了。>
我正在使用Angular8。当我想通过路由在组件之间共享变量时,请执行以下操作:我按状态添加数据,例如:this.router.navigate([“ thing /”],{state:{data: {..}}})在...
还有其他几种在路由时传递数据的方法。但是由于WebApp的性质,当您重新加载页面时,所有内存中的数据都会丢失(因为这基本上会重新启动应用程序)。因此,如果您希望数据持久化,则将其放入持久性存储中。现在也有多个选项,例如SessionStorage
,LocalStorage
,ÌndexedDB
甚至是WebServer。哪一种是最适合您的案例的解决方案,在很大程度上取决于您要保留哪种数据。