好处beforeRouteLeave
是您可以防止在某些情况下导航离开。
我有一个使用子路由来呈现页面的一部分的设置。如果未保存数据,我想在子路由上设置一个导航守卫,以防止切换到另一个。
{
path: '/customers/view',
component: ViewCustomerShell,
children: [
{path: ':id', name: 'ViewCustomer', component: ViewCustomer}
]
},
因此,当我访问/customers/view/12
并进行更改时,如果他们尝试加载/customers/view/13
,我想弹出通常的确认并可能停止导航。既然beforeRouteLeave
在这种情况下不调用,那么防止导航的推荐方法是什么?看来再看$route
也晚了,因为那时导航已经发生了。
注意:如上所述,beforeRouteLeave
在这种情况下不调用;它不起作用。
注意: usingonbeforeunload
不起作用,因为它仅在整个页面更改时触发。