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