国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue中的異步組件函數實現代碼

2024-05-06 15:32:35
字體:
來源:轉載
供稿:網友

具體代碼如下所示:

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中的異步組件函數實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 嘉兴市| 鲁甸县| 措美县| 米泉市| 长岭县| 伊川县| 平顶山市| 娱乐| 平潭县| 内乡县| 开远市| 泰安市| 无棣县| 玛沁县| 嘉善县| 西乡县| 馆陶县| 张北县| 正镶白旗| 蓝山县| 三明市| 伊春市| 满城县| 仁化县| 肥东县| 玉林市| 板桥市| 周口市| 谢通门县| 杭州市| 恩施市| 资中县| 巩留县| 屯门区| 白河县| 长兴县| 金堂县| 柳林县| 富锦市| 昆山市| 永定县|