最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解vue2.0 使用動(dòng)態(tài)組件實(shí)現(xiàn) Tab 標(biāo)簽頁(yè)切換效果(vue-cli)

 更新時(shí)間:2017年08月30日 10:45:16   作者:我不是黃悠然  
本篇文章主要介紹了詳解vue2.0 使用動(dòng)態(tài)組件實(shí)現(xiàn) Tab 標(biāo)簽頁(yè)切換效果(vue-cli),具有一定的參考價(jià)值,有需要的可以了解下

在 vue 中,實(shí)現(xiàn) Tab 切換主要有三種方式:使用動(dòng)態(tài)組件,使用 vue-router 路由,使用第三方插件。

因?yàn)檫@次完成的功能只是簡(jiǎn)單切換組件,再則覺得使用路由切換需要改變地址略微麻煩,所以使用的是動(dòng)態(tài)組件實(shí)現(xiàn),如果是在大型應(yīng)用上,可能使用 vue-router 會(huì)方便一些。

先看下最終實(shí)現(xiàn)的效果,結(jié)構(gòu)比較簡(jiǎn)單,頂部的三個(gè) Tab 標(biāo)簽用于切換,內(nèi)容區(qū)域分別為三個(gè)子組件。

效果預(yù)覽

關(guān)鍵代碼及分析如下:

<template>
// 每一個(gè) tab 綁定了一個(gè)點(diǎn)擊事件,傳入的參數(shù)對(duì)應(yīng)著 tab 下的組件名
<div class="tabs">
 <div class="tab" @click="toggleTab('prince')"><a>小王子</a></div>
 <div class="tab" @click="toggleTab('rose')"><a>小玫瑰</a></div>
 <div class="tab" @click="toggleTab('fox')"><a>小狐貍</a></div>
</div>
// 子組件,顯示不同的 tab
// is 特性動(dòng)態(tài)綁定子組件
// keep-alive 將切換出去的組件保留在內(nèi)存中
<prince :is="currentTab" keep-alive></prince>
</template>

<script>
// 引入子組件
import prince from './components/prince';
import rose from './components/rose';
import fox from './components/fox';
export default {
 name: 'app',
 data () {
  return {
   currentTab: 'prince' // currentTab 用于標(biāo)識(shí)當(dāng)前觸發(fā)的子組件
  };
 },
 components: { // 聲明子組件
  prince,
  rose,
  fox
 },
 methods: {
  toggleTab: function(tab) {
   this.currentTab = tab; // tab 為當(dāng)前觸發(fā)標(biāo)簽頁(yè)的組件名
  }
 }
}
</script>

使用動(dòng)態(tài)組件實(shí)現(xiàn) Tab 標(biāo)簽頁(yè)切換的基本過程可以概括為:

  • 在父組件中定義一個(gè)主 tab 標(biāo)簽頁(yè),用于切換,同時(shí)為每個(gè) tab 綁定點(diǎn)擊事件,傳入該 tab 的子組件名,最后引入并定義子組件
  • 子組件中是各 tab 標(biāo)簽頁(yè)的內(nèi)容
  • 使用 is 特性動(dòng)態(tài)切換子組件,使用 kee-alive 緩存

is 特性一般用于原生 HTML 元素?cái)U(kuò)展

舉個(gè)栗子,一般在 ul 標(biāo)簽中只能嵌套 li 標(biāo)簽,但是我們現(xiàn)在想在 ul 標(biāo)簽內(nèi)使用自定義組件 v-li。

<ul>
  <v-li></v-li>
</ul>

而這樣寫肯定是不行的,這就需要用到 is 特性了。

<ul>
  <li is="v-li"></li>
</ul>

這也就是為什么利用 is 特性可以實(shí)現(xiàn)動(dòng)態(tài)切換組件的效果。

keep-alive 指令可以將切換出去的組件保留在內(nèi)存中,可以保留它的狀態(tài)或避免重新渲染。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 講解vue-router之什么是嵌套路由

    講解vue-router之什么是嵌套路由

    這篇文章主要介紹了講解vue-router之什么是嵌套路由,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-05-05
  • Vue中如何對(duì)ElementUI的Dialog組件封裝

    Vue中如何對(duì)ElementUI的Dialog組件封裝

    這篇文章主要介紹了Vue中如何對(duì)ElementUI的Dialog組件封裝問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue路由應(yīng)用詳細(xì)講解

    Vue路由應(yīng)用詳細(xì)講解

    路由的本質(zhì)就是一種對(duì)應(yīng)關(guān)系,根據(jù)不同的URL請(qǐng)求,返回對(duì)應(yīng)不同的資源。那么url地址和真實(shí)的資源之間就有一種對(duì)應(yīng)的關(guān)系,就是路由
    2022-11-11
  • 如何在Vue單頁(yè)面中進(jìn)行業(yè)務(wù)數(shù)據(jù)的上報(bào)

    如何在Vue單頁(yè)面中進(jìn)行業(yè)務(wù)數(shù)據(jù)的上報(bào)

    為什么要在標(biāo)題里加上一個(gè)業(yè)務(wù)數(shù)據(jù)的上報(bào)呢,因?yàn)樵谠蹅兦岸隧?xiàng)目中,可上報(bào)的數(shù)據(jù)維度太多,比如還有性能數(shù)據(jù)、頁(yè)面錯(cuò)誤數(shù)據(jù)、console捕獲等。這里我們只講解業(yè)務(wù)數(shù)據(jù)的埋點(diǎn)。
    2021-05-05
  • Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度

    Vue 3 中使用 Element Plus 的 `el-t

    在 Vue 3 中使用 Element Plus 的 `el-table` 組件實(shí)現(xiàn)自適應(yīng)高度,你可以根據(jù)容器的高度動(dòng)態(tài)設(shè)置表格的高度,下面通過示例代碼給大家展示,感興趣的朋友一起看看吧
    2024-12-12
  • vue利用axios來(lái)完成數(shù)據(jù)的交互

    vue利用axios來(lái)完成數(shù)據(jù)的交互

    這篇文章主要介紹了vue利用axios來(lái)完成數(shù)據(jù)的交互,本文通過實(shí)例代碼給大家講解數(shù)據(jù)交互方法及安裝方法,需要的朋友可以參考下
    2018-03-03
  • vue-element-admin登錄全流程分享

    vue-element-admin登錄全流程分享

    這篇文章主要介紹了vue-element-admin登錄全流程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue router-link下劃線和顏色問題及解決

    vue router-link下劃線和顏色問題及解決

    這篇文章主要介紹了vue router-link下劃線和顏色問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中

    element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中

    這篇文章主要介紹了element-ui中實(shí)現(xiàn)tree子節(jié)點(diǎn)部分選中時(shí)父節(jié)點(diǎn)也選中的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件間通信六種方式(總結(jié)篇)

    vue組件間通信六種方式(總結(jié)篇)

    組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無(wú)法相互引用。這篇文章主要介紹了vue組件間通信六種方式,需要的朋友可以參考下
    2019-05-05

最新評(píng)論

柳州市| 吉林省| 肇东市| 永康市| 穆棱市| 马龙县| 紫阳县| 宝兴县| 盐边县| 井研县| 淮安市| 安平县| 石楼县| 潞西市| 绥宁县| 宜丰县| 荔波县| 平远县| 卢湾区| 太保市| 宜川县| 溧阳市| 扶绥县| 苍南县| 诸暨市| 凭祥市| 朝阳市| 万年县| 毕节市| 卢湾区| 黎川县| 苍溪县| 兴义市| 册亨县| 都匀市| 长葛市| 乐陵市| 湟中县| 福鼎市| 九龙县| 枝江市|