Vue中的异步组件函数实现代码
2019/6/27 7:49:55
本文主要是介绍Vue中的异步组件函数实现代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
具体代码如下所示:
export default new Router({ routes: [ { path: '/live', name: 'live', component: () => import('@/view/live/live.vue') } ] })
上面的代码是很常见的router代码分割,只在代码路由为live才会去加载live.vue
但这样在live.vue获取的过程将是一片空白,什么也没有,体验不好, 利用vue提供的异步组建可以解决
新建一个 loadable.vue
<template> <index></index> </template> <script> import LoadingComponent from './load.vue' // LoadingComponents是 live.vue为获取前展示的内容 export default { components: { index: () => ({ component: import('@/view/live/live.vue'), // 异步组件加载时使用的组件 loading: LoadingComponent, // 展示加载时组件的延时时间。默认值是 200 (毫秒) delay: 200, // 如果提供了超时时间且组件加载也超时了, // 则使用加载失败时使用的组件。默认值是:`Infinity` timeout: 3000 }) } } </script>
然后修改router.js
export default new Router({ routes: [ { path: '/live', name: 'live', component: import('loadable.vue') } ] })
这样在获取到live.vue之前就会有自定义的loading展示了
但是路由很多, 我们不可能每个路由都写一个 loadable.vue, 所以编写一个函数来解决
新建一个 loadable.js
import LoadingComponent from './load.vue' export default (asyncComponent) => { const Com= () => ({ // 这里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) { return h(Com, {}) } } }
然后修改一下router.js
import loadable from 'loadable.js' export default new Router({ routes: [ { path: '/live', name: 'live', component: loadable (() => import('@/view/live/live.vue')) } ] })
这样一个极简的vue异步函数就完成了
总结
以上所述是小编给大家介绍的Vue中的异步组件函数实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对找一找教程网网站的支持!
这篇关于Vue中的异步组件函数实现代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-152025年React技术栈全解:构建现代应用的必备工具集
- 2025-01-15React小白入门基础知识
- 2025-01-15订阅已过时:RxJs 中 .subscribe() 的新用法
- 2025-01-15为什么我决定在2025年不再使用React.js了
- 2025-01-13【JS逆向百例】某盾 Blackbox 算法逆向分析
- 2025-01-04React 19 来了!新的编译器简直太棒了!
- 2025-01-032025年Node.js与PHP大比拼:挑选最适合的后端技术进行现代web开发
- 2025-01-03?? 用 Gemini API、Next.js 和 TailwindCSS 快速搭建 AI 推文生成项目 ??
- 2024-12-31Vue CLI多环境配置学习入门
- 2024-12-31Vue CLI学习入门:一步一步搭建你的第一个Vue项目