動態組件component標籤是vue的一個內置組件,經過動態地設置is屬性,渲染出對應的組件vue
使用方法:webpack
一、components/MyText.vue:web
<template> <div> 文本組件 </div> </template>
components/MyImage.vue:app
<template> <div> 圖片組件 </div> </template>
components/MyVideo.vue:異步
<template> <div> 媒體組件 </div> </template>
二、App.vue:ide
<template> <div id="app"> <div v-for="(item,index) in list" :key="index"> <component :is='item.componentType'></component> </div> </div> </template> <script> export default { data() { return { list: [ { componentType: 'MyVideo' }, { componentType: 'MyImage' }, { componentType: 'MyText' }, { componentType: 'MyImage' }, { componentType: 'MyText' } ] } }, components: { MyText: () => import(/* webpackChunkName: 'MyText' */ '@/components/MyText'), MyImage: () => import(/* webpackChunkName: 'MyImage' */ '@/components/MyImage'), MyVideo: () => import(/* webpackChunkName: 'MyVideo' */ '@/components/MyVideo') } } </script>
一、組件能夠根據list中定義的順序來渲染spa
二、使用動態組件時,組件的引入最好使用異步組件的方式引入component