欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換/制作tab組件詳細(xì)教程

 更新時(shí)間:2023年11月23日 09:38:33   作者:XL_0502  
在項(xiàng)目開(kāi)發(fā)中需要使用vue實(shí)現(xiàn)tab頁(yè)簽切換功能,所以這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換/制作tab組件的相關(guān)資料,需要的朋友可以參考下

vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換【詳細(xì)】

在vue中實(shí)現(xiàn)標(biāo)簽頁(yè)切換有如下2種方式:

① 使用動(dòng)態(tài)組件

② 使用路由

當(dāng)然你可以使用第三方ui來(lái)實(shí)現(xiàn),比如Element Plus。不過(guò)自己試著實(shí)現(xiàn)一下會(huì)更好。

這里講一下第一和第二種方式,以組件實(shí)現(xiàn)為重點(diǎn),那么就先講一下使用路由的方式。

使用路由實(shí)現(xiàn) Tab切換

首先,在router文件夾的index.js文件中,配置子頁(yè)面的路由

 {
      path: '/Profile',
      name: 'Profile',
      meta:{
        showHead:true,
        path:'個(gè)人中心'
      },
      component: () => import('../views/ProfileView.vue'),
      children:[
        {
          path:'article',
          name:'article',
          component: () => import('../components/Article.vue')
        },
        {
          path:'picture',
          name:'picture',
          component: () => import('../components/Picture.vue')
        }
      ]
    },

以防萬(wàn)一你不知道,path使用‘/xx’的是根路徑,使用’xxx‘會(huì)自動(dòng)拼接。

以 / 開(kāi)頭的嵌套路徑將被視為根路徑。這允許你利用組件嵌套,而不必使用嵌套的 URL。

接著放出我們的組合拳與

 <div class="column">
          <router-link to="/profile/article" name="article">文章</router-link>
          <router-link to="/profile/picture" name="picture">圖片</router-link>
 </div>
 <div class="content">
          <router-view></router-view>
</div>

使用 component 動(dòng)態(tài)組件實(shí)現(xiàn) Tab切換

大概的思路是這樣的:首先,每一個(gè)tab都有一個(gè)panel。

其次,我們希望tab和他的panel能夠關(guān)聯(lián)起來(lái),那么他們之間最好有什么相同的特征,所以我們就想到了id。我們可以給每組的男嘉賓和女嘉賓都用上相同的編號(hào),這樣我們只需要看編號(hào)就知道誰(shuí)對(duì)應(yīng)誰(shuí)啦!

最后,大家都知道,約會(huì)是一對(duì)一的。因此,我們男一(mtab-1)和女一(panel-1)約會(huì)的時(shí)候,其他的女嘉賓是不能出場(chǎng)的。

控制組件的顯示隱藏可以用v-if/v-show。

用isShow來(lái)記錄當(dāng)前出場(chǎng)的男嘉賓(mtab)。

用數(shù)組panelShowList來(lái)記錄每位女嘉賓(panel)是否出場(chǎng)的。

大概的框架是這樣的:

<div class="column">
  <button class="mtab" id="mtab-0" @click="clickTab">0</button>
  <button class="mtab" id="mtab-1" @click="clickTab">1</button>
  <button class="mtab" id="mtab-2" @click="clickTab">文章</button>
</div>
<div class="content">
  <div class="panel" id="panel-0" v-if="panelShowList[0]">
    我是內(nèi)容
  </div>
  <div class="panel" id="panel-1" v-if="panelShowList[1]">
    我是內(nèi)容1
  </div>
  <div class="panel" id="panel-2" v-if="panelShowList[2]">
    我是內(nèi)容2
  </div>
</div>

不要忘記isShow和panelShowList是有初始值的。開(kāi)場(chǎng)男女嘉賓,安排!

data(){
    return{
      isShow:0,
      panelShowList:[1,0,0]
    }
  }

差點(diǎn)忘了要給出場(chǎng)男嘉賓一個(gè)特寫(xiě),給被選中的tab增加一些醒目的樣式。

        <div class="column">
          <button class="mtab" id="mtab-0" @click="clickTab" :class="{highlightTab:panelShowList[0]}">0</button>
          <button class="mtab" id="mtab-1" @click="clickTab" :class="{highlightTab:panelShowList[1]}">1</button>
          <button class="mtab" id="mtab-2" @click="clickTab" :class="{highlightTab:panelShowList[2]}">文章</button>
        </div>

ps: panelShowList存儲(chǔ)了女嘉賓們的出場(chǎng)狀態(tài),數(shù)組下標(biāo)為男女嘉賓相同的編號(hào)。

接著,我們開(kāi)始思考怎么樣才能讓tab和panel這兩邊的嘉賓能夠成雙成對(duì)的出現(xiàn)呢?
答:那當(dāng)然得讓他們相互牽手成功!

前面我們已經(jīng)在雙方的id上做好了手腳,那么現(xiàn)在就簡(jiǎn)單了。

首先,獲取男方的id,不對(duì),是tab的id。

 clickTab(e){
      console.log('我的編號(hào)是',e.srcElement.id.charAt(5)) 
      this.isShow = e.srcElement.id.charAt(5)

接著我們需要主持人來(lái)呼喚女嘉賓出場(chǎng),不是。是利用watch偵聽(tīng)器對(duì)isShow屬性的監(jiān)聽(tīng)。只要isShow改變就代表當(dāng)前出場(chǎng)的男嘉賓改變了,因此立馬通知前一位女嘉賓退場(chǎng),對(duì)應(yīng)的女嘉賓出場(chǎng)。

watch:{
    isShow(newValue,oldValue){
      this.panelShowList[oldValue]=0
      this.panelShowList[newValue]=1
    }
  }

這里我們擴(kuò)展一個(gè)知識(shí)點(diǎn),那就是watch的深層監(jiān)聽(tīng)。

watch 默認(rèn)是淺層的:被偵聽(tīng)的屬性,僅在被賦新值時(shí),才會(huì)觸發(fā)回調(diào)函數(shù)——而嵌套屬性的變化不會(huì)觸發(fā)。如果想偵聽(tīng)所有嵌套的變更,你需要深層偵聽(tīng)器:

ok,到了這里,我們就成功實(shí)現(xiàn)了標(biāo)簽頁(yè)切換功能。

總結(jié)

到此這篇關(guān)于vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換/制作tab組件的文章就介紹到這了,更多相關(guān)vue標(biāo)簽頁(yè)切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3中輕松實(shí)現(xiàn)switch功能組件的全過(guò)程

    vue3中輕松實(shí)現(xiàn)switch功能組件的全過(guò)程

    這篇文章主要給大家介紹了關(guān)于vue3中輕松實(shí)現(xiàn)switch功能組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Vue-router 類似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例

    Vue-router 類似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例

    本篇文章主要介紹了Vue-router 類似Vuex實(shí)現(xiàn)組件化開(kāi)發(fā)的示例,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-09-09
  • vue中jsonp的使用方法

    vue中jsonp的使用方法

    這篇文章主要介紹了vue中jsonp的使用方法,文章從安裝開(kāi)始展開(kāi)具體的vue中jsonp的使用詳細(xì)內(nèi)容,需要的朋友可以參考一下,希望對(duì)大家有所幫助
    2021-11-11
  • 詳細(xì)聊聊Vue生命周期的那些事

    詳細(xì)聊聊Vue生命周期的那些事

    這篇文章主要給大家介紹了關(guān)于Vue生命周期的那些事,在使用vue開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)接觸到生命周期的問(wèn)題,但對(duì)于每個(gè)鉤子函數(shù)都做了什么,應(yīng)用場(chǎng)景比較模糊,希望通過(guò)這次梳理讓自己清楚一些,需要的朋友可以參考下
    2021-09-09
  • Vue?動(dòng)畫(huà)效果、過(guò)渡效果的示例代碼

    Vue?動(dòng)畫(huà)效果、過(guò)渡效果的示例代碼

    這篇文章主要介紹了Vue?動(dòng)畫(huà)效果、過(guò)渡效果,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽(tīng)屬性的使用和區(qū)別解析

    Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽(tīng)屬性的使用和區(qū)別解析

    這篇文章主要介紹了Vue中的methods、computed計(jì)算屬性和watch監(jiān)聽(tīng)屬性的使用和區(qū)別,本文通過(guò)示例代碼給大家介紹的非常詳細(xì)對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • 淺談vue限制文本框輸入數(shù)字的正確姿勢(shì)

    淺談vue限制文本框輸入數(shù)字的正確姿勢(shì)

    這篇文章主要介紹了vue限制文本框輸入數(shù)字的正確姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 關(guān)于Element-UI中slot的用法及說(shuō)明

    關(guān)于Element-UI中slot的用法及說(shuō)明

    這篇文章主要介紹了關(guān)于Element-UI中slot的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 解決vue表單為空也能提交的問(wèn)題

    解決vue表單為空也能提交的問(wèn)題

    這篇文章主要介紹了解決vue表單為空也能提交的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Vue使用jsmind實(shí)現(xiàn)生成腦圖的示例代碼

    Vue使用jsmind實(shí)現(xiàn)生成腦圖的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Vue如何使用jsmind實(shí)現(xiàn)生成腦圖,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-03-03

最新評(píng)論