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

时间:2018-04-12 11:37:01

标签: angular

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

3 个答案:

答案 0 :(得分:1)

您可以使用CanDeactivate Route Guard。 请参阅链接 - https://angular.io/api/router/CanDeactivate

答案 1 :(得分:-1)

看看Localstorage。它是一个很好的插件,可以使用Local Storage API中的浏览器构建来控制本地存储。

有关Local Storage API的更多信息,请阅读the docs

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

答案 2 :(得分:-1)

注意:如果您想在导航前警告用户,可以使用@Basavaraj Bhusani中提到的 private void button4_Click(object sender, EventArgs e) { foreach (var row in listBox1.Items) { if(sIMSDataSet.Stock.Rows.Contains(row)) { //update the checked out column to true and the who it //is checked out to, to the logged in user. } } } 后卫,回答。

Here You can find a good Example of Deactivate Guard

如果您想在某个地方存储数据并希望在本地应用,则可以使用canDeactivate

您可以在localStorage

的所有地方执行所有功能

如果您要从navigate

前往home component
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')时保存form Dataretrieve