Javascript 获取数据时调用next()
我正在使用这个npm包,但是在获取数据时它会显示进度条 我想要实现的是,例如,当我单击某个产品时,我不想离开当前路线,直到Javascript 获取数据时调用next(),javascript,laravel,vue.js,axios,single-page-application,Javascript,Laravel,Vue.js,Axios,Single Page Application,我正在使用这个npm包,但是在获取数据时它会显示进度条 我想要实现的是,例如,当我单击某个产品时,我不想离开当前路线,直到ProductsShow组件中的数据被提取出来,然后进度条将完成并调用next()方法,前往ProductsShow组件的路线 有办法做到这一点吗?要检查我要前往的路由组件中的数据是否已获取,以便我可以完成进度条并调用next()方法是,要执行此操作,需要在目标组件中利用beforeRouteEnter 导出默认值{ 路由前(到、从、下一个){ get(“/data/i/n
ProductsShow
组件中的数据被提取出来,然后进度条将完成并调用next()
方法,前往ProductsShow
组件的路线
有办法做到这一点吗?要检查我要前往的路由组件中的数据是否已获取,以便我可以完成进度条并调用
next()
方法是,要执行此操作,需要在目标组件中利用beforeRouteEnter
导出默认值{
路由前(到、从、下一个){
get(“/data/i/need”)
.然后(功能(响应){
下一步(vm=>{
vm.myData=response.data//取决于数据的形状和目标组件
})
})
.catch(函数(错误){
next(false)//或重定向到错误页?
})
}
}
如果您的路线在参数中包含id,您可以在beforeRouteEnter中使用
to.params.myidValuer或任何您正在等待的信息来访问它?或者您正在等待的数据获取?你给Axios加了标签,这让我很惊讶。另外,一些代码可能会有所帮助。您在组件生命周期的何处触发此。$Progress.finish()
?您是否正在为您的产品Show
组件进行导航卫士方面的其他工作?我正在等待获取数据。必须编辑标题我尝试在每次之前执行此操作,但没有成功。就像我需要做一些工作,在所有的组件,这是工作
<script>
export default {
beforeRouteEnter(to, from, next) {
axios.get('/data/i/need')
.then(function(response) {
next(vm => {
vm.myData = response.data // depends on the shape of your data and your destination component
})
})
.catch(function(error) {
next(false) // or redirect to an error page?
})
}
}
</script>