溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

發(fā)布時間:2021-04-20 11:19:34 來源:億速云 閱讀:217 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)vue.js如何實現(xiàn)標(biāo)簽頁切換效果的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

vue是什么軟件

Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式JavaScript框架,Vue與其它大型框架的區(qū)別是,使用Vue可以自底向上逐層應(yīng)用,其核心庫只關(guān)注視圖層,方便與第三方庫和項目整合,且使用Vue可以采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)復(fù)雜的單頁應(yīng)用。

第二個實例是關(guān)于標(biāo)簽頁切換的,先看一下效果:

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

這也是一個很常見的交互效果,以往正常的javascript寫法是給各個按鈕綁定事件來切換不同的層,當(dāng)然也可以用純css寫,給上面的三個切換的層分別添加一個單選按鈕的兄弟節(jié)點,再用絕對定位把單選按鈕定位在三個button上面,這樣就可以用:checked偽類來單選按鈕的兄弟元素,即對應(yīng)的不同的層,我簡單的寫了一下DOM結(jié)構(gòu),大概就是這樣:

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

那么用vue.js實現(xiàn)上述的效果,其實也有兩種途徑,一種使用vue-router,vue-routervue.js的一個路由組件,在單頁面應(yīng)用中非常非常流行,如果切換的層數(shù)據(jù)量非常大的話,比如每個層都要有服務(wù)器進(jìn)行大量的數(shù)據(jù)交互,那么強烈建議使用vue-router,因為vue-router在每次切換路由的過程中,都會自動銷毀(destroyed)前面的組件,這樣在頻繁的操作中頁面也不會卡,而且vue-router也定義了頁面切換過程中的過渡動畫。

如果數(shù)據(jù)量并不復(fù)雜的話,可以直接通過vue.js定義切換狀態(tài)來切換不同的層。

首先先把template和css寫好:

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

其中introduce、chatbar、videobar分別代表三個需要跟隨button切換的組件,接下來就可以給vue.js的button節(jié)點綁定事件來操控點擊狀態(tài):

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

點擊不同的button,會讓active的狀態(tài)改變,同時這個狀態(tài)會作用到button上面,比如讓被點擊的button有個高亮的效果等等。

那么如何讓active的狀態(tài)作用到彈出層呢?其實定義一個computed函數(shù)就可以了:

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

vue.js如何實現(xiàn)標(biāo)簽頁切換效果

感謝各位的閱讀!關(guān)于“vue.js如何實現(xiàn)標(biāo)簽頁切換效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI