需求:从文章编辑页面跳转到其他页面时,弹出提示框显示系统可能不会保留更改。
js中代码:
beforeRouteLeave: function(to, from , next){ //设置路由拦截,当点击导航跳转时,先提示用户不会保存数据
next(false)
this.$Modal.confirm({ //iview对话框
title: "系统提示",
content: "系统可能不会保留您的更改!",
onOk: () => {
next();
},
onCancel: () => {
return;
}
});
},
this.$Modal.confirm({})为iview的弹出框组件。
beforeRouteLeave参数解释:
to: 即将要进入的目标 路由对象
from: 当前导航正要离开的路由
function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
next(): 进行管道中的下一个钩子。
此段代码和vue生命周期函数同级。