vue在mixin中hook vue组件中的自定义refreshList方法,在自定义方法执行完之后进行一些处理
时间: 2024-03-15 12:44:04 浏览: 62
自定义ListView下拉刷新-拉出RefreshView
可以在mixin中使用created或者mounted钩子来添加一个beforeRouteUpdate的守卫。beforeRouteUpdate会在路由参数发生变化时调用,可以在这个守卫中调用组件中的refreshList方法,并在方法执行完毕后进行一些处理。
具体实现如下:
```js
export default {
created() {
this.$router.beforeRouteUpdate((to, from, next) => {
this.refreshList().then(() => {
// 在refreshList执行完后进行一些处理
console.log('refreshList执行完毕');
next();
});
});
}
}
```
在这个例子中,我们在mixin的created钩子中添加了一个beforeRouteUpdate守卫。这个守卫在路由参数发生变化时会被调用,我们在这个守卫中调用组件中的refreshList方法,并在方法执行完毕后进行一些处理。
需要注意的是,beforeRouteUpdate守卫调用next()函数来通知路由已经完成。如果你的自定义refreshList方法中使用了异步操作,必须在异步操作执行完毕后调用next()函数,否则路由将不会跳转。
阅读全文