在重定向到Angular 4中的其他页面之前保存值

在重定向到Angular 4中的其他页面之前保存值,angular,Angular,我有一个场景,用户正在编辑页面上的详细信息,但不小心从标题菜单中单击了其他页面链接。现在我要做的是在重定向之前保存当前页面值。我用的是角度4。有什么聪明的方法吗?看看。它是一个使用浏览器内置本地存储API控制本地存储的好插件 有关本地存储API的更多信息,请阅读 此外,您可以使用ondestory()存储当前存在的值,使用onInit加载变量;-) 您可以使用CanDeactivate Route Guard。 请参考链接-注意:如果您想在导航前警告用户,您可以使用@Basavaraj Bhus

我有一个场景,用户正在编辑页面上的详细信息,但不小心从标题菜单中单击了其他页面链接。现在我要做的是在重定向之前保存当前页面值。我用的是角度4。有什么聪明的方法吗?

看看。它是一个使用浏览器内置本地存储API控制本地存储的好插件

有关本地存储API的更多信息,请阅读


此外,您可以使用
ondestory
()存储当前存在的值,使用
onInit
加载变量;-)

您可以使用CanDeactivate Route Guard。
请参考链接-

注意:如果您想在导航前警告用户,您可以使用@Basavaraj Bhusani,答案中提到的
canDeactivate
guard

如果您想将数据存储在某个地方,并想在应用程序本地使用它,您可以使用
localStorage

您可以在一个功能中导航

如果您要从
app component

class AppComponent implements OnInit {
  constructor(private router: Router) {} 

  ngOnInit() {
   // here you can get the data
   localStorage.getItem('form')
  }

  goHome(formData) {
    localStorage.setItem('form', formData)
    this.router.navigate(['home']); 
  }

}
设置数据:
localStorage.setItem('form',formData)
设置数据

获取数据:
localStorage.getItem('form')
获取数据


您只需保存
表单数据
并在返回
应用程序组件时检索
即可

您可以使用
本地存储
进行that@Sravan你能帮我写些代码吗?这是最好的答案。监听路由事件对于其他组件来说太重了,这意味着您必须在销毁当前组件时取消订阅。因此,如果您必须使用Ngondestory,请以正确的方式使用它!谢谢我知道怎么做了。好吧,你可以检查一下,它会对你有用的
class AppComponent implements OnInit {
  constructor(private router: Router) {} 

  ngOnInit() {
   // here you can get the data
   localStorage.getItem('form')
  }

  goHome(formData) {
    localStorage.setItem('form', formData)
    this.router.navigate(['home']); 
  }

}