18 lines
555 B
TypeScript
18 lines
555 B
TypeScript
import { RouteLocationNormalized, NavigationGuardNext, nav } from 'vue-router';
|
|
|
|
export default function (to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext)
|
|
{
|
|
if (from.matched.length && from.matched[0].instances)
|
|
{
|
|
let instance = from.matched[0].instances.default;
|
|
|
|
if (instance.$refs['form'] && typeof instance.$refs.form.beforeRouteLeave === 'function')
|
|
{
|
|
isGuarded = true;
|
|
instance.$refs.form.beforeRouteLeave(to, from, res =>
|
|
{
|
|
next(res !== false);
|
|
});
|
|
}
|
|
}
|
|
} |