2019-08-30 - Vue - 动态组件 & 异步组件

源自:https://cn.vuejs.org/v2/guide/index.html

动态组件

keep-alive

            

异步组件

Vue 只有在这个组件需要被渲染的时候才会触发该工厂函数,且会把结果缓存起来供未来重渲染。

new Vue({

  // ...

  components: {

    'my-component': () => import('./my-async-component')

  }

})

处理加载状态

const AsyncComponent = ()=> ({

          // 需要加载的组件 (应该是一个 `Promise` 对象)

         component: import('./MyComponent.vue'),

          // 异步组件加载时使用的组件  

        loading: LoadingComponent,

          // 加载失败时使用的组件  

        error: ErrorComponent,

          // 展示加载时组件的延时时间。默认值是 200 (毫秒)  

        delay: 200,

          // 如果提供了超时时间且组件加载也超时了,  // 则使用加载失败时使用的组件。默认值是:`Infinity`  

        timeout: 3000

})

注意:

$refs 只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。

你可能感兴趣的:(2019-08-30 - Vue - 动态组件 & 异步组件)