组件内守卫有以下三种
beforeRouteEnter 组件第一次被渲染时调用
beforeRouteUpdate 路由改变但组件被复用时调用
beforeRouteLeave 导航离开组件时调用
显而易见,我们需要监听并处理 beforeRouteLeave 事件。
beforeRouteLeave(to, from, next) {
if (!this.modified) {
next();
return;
}
this.$confirm('当前页面数据未保存,确定要离开?', '提示', { type: 'warning' })
.then(() => {
next();
})
.catch(() => {
next(false);
});
},有了以上的代码,当我们在进行路由切换时(点击浏览器回退按钮或点击页面中的其它路由链接)就会提示如下的对话框:
当用户选择取消时,回到原界面,当用户点击确定按钮后,页面强制刷新。
总结
以上所述是小编给大家介绍的解决Vue.js应用回退或刷新界面时提示用户保存修改问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小会及时回复大家的!










