Vue動態組件component標簽的用法大全
簡介
說明
本文介紹Vue的動態組件的用法。
在Vue中,可以通過component標簽的is屬性動態指定標簽,例如:
<component :is="componentName"></component>
此時,componentName的值是什麼,就會引入什麼組件。
官網網址
https://v2.cn.vuejs.org/v2/guide/components.html#動態組件
示例
路由設置
router/index.js
import Vue from 'vue' import VueRouter from 'vue-router' import Parent from '../components/Parent' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Parent', component: Parent } ] const router = new VueRouter({ routes }) export default router
父組件
components/Parent.vue
<template> <div class="outer"> <h2>這是父組件</h2> <component :is="componentName" :propA="propAValue"></component> </div> </template> <script> import ChildA from './ChildA' import ChildB from './ChildB' export default { name: 'Parent', components: { ChildA, ChildB }, data () { return { componentName: 'ChildB', propAValue: 'aaa' } } } </script> <style scoped> .outer { margin: 20px; border: 2px solid red; padding: 20px; } </style>
子組件
components/ChildA.vue
<template> <div class="outer"> <h3>這是ChildA</h3> <div>傳入進來的propA值為:{{propA}}</div> </div> </template> <script> export default { name: 'ChildA', props: ['propA'] } </script> <style scoped> .outer { margin: 20px; border: 2px solid blue; padding: 20px; } </style>
components/ChildA.vue
<template> <div class="outer"> <h3>這是ChildB</h3> <div>傳入進來的propA值為:{{propA}}</div> </div> </template> <script> export default { name: 'ChildB', props: ['propA'] } </script> <style scoped> .outer { margin: 20px; border: 2px solid blue; padding: 20px; } </style>
測試
訪問:http://localhost:8080/
到此這篇關於Vue動態組件component標簽的用法大全的文章就介紹到這瞭,更多相關Vue–動態組件component標簽內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!