ホームページ > ウェブフロントエンド > jsチュートリアル > Vue の非同期コンポーネント関数の簡単な分析

Vue の非同期コンポーネント関数の簡単な分析

不言
リリース: 2018-07-19 17:17:15
オリジナル
1569 人が閲覧しました

この記事では、Vue の非同期コンポーネント関数の簡単な分析を紹介します。必要な場合は、対応するコード例を参照してください。

export default new Router({
  routes: [
    {
      path: '/live',
      name: 'live',
      component: () => import('@/view/live/live.vue')
    }
  ]
})
ログイン後にコピー

上記のコードは、非常に一般的なルーター コード分割です。Live.vue はコードが live にルーティングされるときにのみロードされます
しかし、この方法では、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
を取得する前にカスタマイズされた読み込み表示が表示されますが、ルートが多く、ロード可能なものを書くことはできません。ルートごとに 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 非同期関数が完成します

関連する推奨事項:

VSCode による Vue コンポーネントと Js モジュールの導入方法

以上がVue の非同期コンポーネント関数の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート