Vue切換Tab動(dòng)態(tài)渲染組件的操作
使用<component :is="組件名"></component>
結(jié)合Element-UI的導(dǎo)航菜單 :
UI組件
el-menu-item里的index寫對(duì)應(yīng)的組件名
點(diǎn)擊事件@select="handleSelect"
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> <el-menu-item index="Home">首頁(yè)</el-menu-item> <el-menu-item index="About">關(guān)于我們</el-menu-item> </el-menu> <component :is="activeIndex"></component>
在點(diǎn)擊事件里動(dòng)態(tài)設(shè)置組件名
handleSelect(index) { this.activeIndex = index }
完整代碼
<template> <div id="app"> <!-- 導(dǎo)航欄 --> <el-row class="home_nav" type="flex" justify="flex-start" align="middle"> <el-col :span="2" :offset="4"> <div>LOGO</div> </el-col> <el-col :span="12"> <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"> <el-menu-item index="Home">首頁(yè)</el-menu-item> <el-menu-item index="About">關(guān)于我們</el-menu-item> </el-menu> </el-col> </el-row> <component :is="activeIndex"></component> </div> </template> <script> import Home from './components/Home.vue' import About from './components/About.vue' export default { name: 'app', components: { Home, About }, data(){ return { activeIndex: "Home" } }, methods: { handleSelect(index) { this.activeIndex = index } } } </script> <style> </style>
補(bǔ)充知識(shí):vue 動(dòng)態(tài)組件(tabs切換)keep-alive:主要用于保留組件狀態(tài)或避免重新渲染
通過(guò)keep-alive 保留數(shù)據(jù)值 填寫數(shù)據(jù)時(shí)切換到其他頁(yè)面,后返回當(dāng)前頁(yè)數(shù)據(jù)保留 ,主要用于保留組件狀態(tài)或避免重新渲染
<!--動(dòng)態(tài)組件-component使用--> <div class="app"> <ul> <li @click="currView='home'">首頁(yè)</li> <li @click="currView='abount'">關(guān)于我們</li> </ul> <!--通過(guò)keep-alive 保留數(shù)據(jù)值 填寫數(shù)據(jù)時(shí)切換到其他頁(yè)面,后返回當(dāng)前頁(yè)數(shù)據(jù)保留--> <keep-alive> <component :is="currView"></component> </keep-alive> </div>
<script type="text/x-Template" id="homeTemp"> <h2>首頁(yè)數(shù)據(jù)</h2> </script> <script type="text/x-Template" id="abountTemp"> <h2>關(guān)于我們數(shù)據(jù)<input type="text"/></h2> </script>
<script type="text/javascript"> var vm=new Vue({ el:'.app', data:{ currView:"home" }, components:{ "home":{ template:"#homeTemp" }, "abount":{ template:"#abountTemp" } } }); </script>
以上這篇Vue切換Tab動(dòng)態(tài)渲染組件的操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue實(shí)現(xiàn)tab路由切換組件的方法實(shí)例
- vue使用動(dòng)態(tài)組件實(shí)現(xiàn)TAB切換效果
- vue組件開發(fā)之tab切換組件使用詳解
- Vue可自定義tab組件用法實(shí)例
- Vue render函數(shù)實(shí)戰(zhàn)之實(shí)現(xiàn)tabs選項(xiàng)卡組件
- 詳解vue2.0 使用動(dòng)態(tài)組件實(shí)現(xiàn) Tab 標(biāo)簽頁(yè)切換效果(vue-cli)
- Vue2.0 多 Tab切換組件的封裝實(shí)例
- vue.js移動(dòng)端tab組件的封裝實(shí)踐實(shí)例
- Vue.js組件tab實(shí)現(xiàn)選項(xiàng)卡切換
- Vue.js組件tabs實(shí)現(xiàn)選項(xiàng)卡切換效果
- vue封裝tabs組件案例詳解
相關(guān)文章
element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn)
這篇文章主要介紹了element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Vue2.0實(shí)現(xiàn)自適應(yīng)分辨率
這篇文章主要為大家詳細(xì)介紹了Vue2.0實(shí)現(xiàn)自適應(yīng)分辨率,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11vue實(shí)現(xiàn)表單未編輯或未保存離開彈窗提示功能
這篇文章主要介紹了vue實(shí)現(xiàn)表單未編輯或未保存離開彈窗提示功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04vue3輸入框生成的時(shí)候如何自動(dòng)獲取焦點(diǎn)詳解
記錄一下自己最近開發(fā)vue3.0的小小問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vue3輸入框生成的時(shí)候如何自動(dòng)獲取焦點(diǎn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09Vue3使用ref解決GetElementById為空的問(wèn)題
今天遇到一個(gè)問(wèn)題,就是在Vue3組件中需要獲取template中的元素節(jié)點(diǎn),使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問(wèn)題,需要的朋友可以參考下2023-12-12