可以使用Promise封装异步请求,在BeforeRouteEnter中等待数据加载完成后再进行跳转页面。
示例代码:
beforeRouteEnter (to, from, next) {
fetchData().then(data => {
next(vm => {
vm.data = data
})
})
},
其中,fetchData为异步请求的函数,返回一个Promise对象,在Promise对象resolve时返回数据。在BeforeRouteEnter中通过调用fetchData并使用Promise.resolve来等待数据加载完成。最后通过next回调将数据赋值到组件的data变量中。这样确保了数据的完成加载后再进行跳转页面,避免了数据还未加载完毕就直接跳转导致数据丢失的问题。