Vue中的异步组件函数实现代码
具体代码如下所示:
exportdefaultnewRouter({
routes:[
{
path:'/live',
name:'live',
component:()=>import('@/view/live/live.vue')
}
]
})
上面的代码是很常见的router代码分割,只在代码路由为live才会去加载live.vue
但这样在live.vue获取的过程将是一片空白,什么也没有,体验不好,利用vue提供的异步组建可以解决
新建一个loadable.vue
然后修改router.js
exportdefaultnewRouter({
routes:[
{
path:'/live',
name:'live',
component:import('loadable.vue')
}
]
})
这样在获取到live.vue之前就会有自定义的loading展示了
但是路由很多,我们不可能每个路由都写一个loadable.vue,所以编写一个函数来解决
新建一个loadable.js
importLoadingComponentfrom'./load.vue'
exportdefault(asyncComponent)=>{
constCom=()=>({
//这里vue官网可以知道具体有哪些参数可以设置
//https://cn.vuejs.org/v2/guide/components-dynamic-async.html#%E5%A4%84%E7%90%86%E5%8A%A0%E8%BD%BD%E7%8A%B6%E6%80%81
component:asyncComponent(),
loading:LoadingComponent
})
return{
render(h){
returnh(Com,{})
}
}
}
然后修改一下router.js
importloadablefrom'loadable.js'
exportdefaultnewRouter({
routes:[
{
path:'/live',
name:'live',
component:loadable(()=>import('@/view/live/live.vue'))
}
]
})
这样一个极简的vue异步函数就完成了
总结
以上所述是小编给大家介绍的Vue中的异步组件函数实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。