【发布时间】:2016-10-06 15:51:40
【问题描述】:
beforeRouteLeave 的好处在于您可以防止在某些情况下导航离开。
我有一个使用子路由来呈现部分页面的设置。我想在子路由上设置一个导航守卫,以防止在未保存数据时切换到另一个。
{
path: '/customers/view',
component: ViewCustomerShell,
children: [
{path: ':id', name: 'ViewCustomer', component: ViewCustomer}
]
},
所以当我访问/customers/view/12 并进行更改时,如果他们尝试加载/customers/view/13,我想弹出通常的确认信息并可能停止导航。由于在这种情况下没有调用beforeRouteLeave,所以推荐的防止导航的方法是什么?看$route好像来不及了,因为那时导航已经发生了。
注意:如上所述,beforeRouteLeave 在这种情况下不会被调用;它不起作用。
注意:使用onbeforeunload 不起作用,因为它只会在整个页面发生变化时触发。
【问题讨论】:
标签: vue.js vue-router