Vue.js tab實現(xiàn)選項卡切換
本文為大家分享了Vuejs 組件化開發(fā)tab組件實例,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <link rel="stylesheet" href="css/index.css" > <script type="text/javascript" src="../lib/vue.min.js"></script> <script type="text/javascript" src="../lib/jquery-1.11.3.min.js"></script> <style> * { margin: 0; padding: 0; } #tabPanel .itemname { height: 40px; width: 180px; margin-bottom: 10px; } #tabPanel .itemcontent { height: 40px; width: 180px; } #tabPanel .addbtn { margin: 10px 0 0 95px; width: 185px; height: 40px; } #tabPanel .active { background: #eee; } #tabPanel { height: 340px; width: 500px; margin: 100px auto; } #tabPanel .tab { height: 40px; background: #ccc; margin-top: 10px; } #tabPanel .tab ul li { list-style: none; float: left; width: 80px; height: 40px; text-align: center; line-height: 40px; } #tabPanel .content { height: 300px; width: 500px; background: #eee; } </style> </head> <body> <div id="tabItem"> <my-tab></my-tab> <my-tab></my-tab> </div> <!--組件模板--> <script type="text/template" id="tab"> <div id="tabPanel"> <label>添加滑塊名稱:<input type="text" v-model="tabItem" class="itemname"></label><br> <label>添加滑塊內(nèi)容:<input type="text" v-model="tabContent" class="itemcontent"></label><br> <input type="button" value="添加選項" @click="addItem()" class="addbtn"> <div class="tab"> <ul> <li v-for="(value, index) in tabs" v-bind:class="{active: index == num }" @mouseover="toggle(index)" @dblclick="del(index)">{{value}}</li> </ul> </div> <div class="content"> <div class="box" v-for="(value, index) in tabContents" v-show="index == num" contenteditable="true" @blur="editContent(index,value)">{{value+index}}</div> </div> </div> </script> <!--組件模板--> </body> </html> <script> var vue = new Vue({ el: "#tabItem", data: { }, components: { 'my-tab': { template: '#tab', data: function() { return { tabs: ["第一項", "第二項"], tabContents: ["第一項內(nèi)容", "第二項內(nèi)容"], num: 0, tabItem: "", tabContent: "" } }, methods: { //切換滑塊 toggle: function(index) { this.num = index; }, //添加滑塊 addItem: function() { if (this.tabItem == "" || this.tabContent == "") { alert("填寫完整的名稱和內(nèi)容"); } else { this.tabs.push(this.tabItem); this.tabContents.push(this.tabContent); } }, //雙擊刪除滑塊 del: function(index) { this.tabs.splice(index, 1); this.tabContents.splice(index, 1) }, //編輯選項內(nèi)容 editContent: function(index, value) { this.tabContents[index] = value; console.log(this.tabContents); } } } } }); </script>
如果大家還想深入學(xué)習(xí),可以點擊兩個精彩的專題:javascript選項卡操作方法匯總 jquery選項卡操作方法匯總
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vite配置別名并處理報錯:找不到模塊“xxx”或其相應(yīng)的類型聲明方法詳解
我在學(xué)習(xí)vue3+vite+ts的時候,在配置別名這一步的時候遇到了一個問題,這篇文章主要給大家介紹了關(guān)于vite配置別名并處理報錯:找不到模塊“xxx”或其相應(yīng)的類型聲明的相關(guān)資料,需要的朋友可以參考下2022-11-11Vue.js bootstrap前端實現(xiàn)分頁和排序
這篇文章主要為大家詳細(xì)介紹了Vue.js結(jié)合bootstrap前端實現(xiàn)分頁和排序效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03使用開源Cesium+Vue實現(xiàn)傾斜攝影三維展示功能
這篇文章主要介紹了使用開源Cesium+Vue實現(xiàn)傾斜攝影三維展示,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07vue中radio單選框如何實現(xiàn)取消選中狀態(tài)問題
這篇文章主要介紹了vue中radio單選框如何實現(xiàn)取消選中狀態(tài)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05vue 路由子組件created和mounted不起作用的解決方法
今天小編就為大家分享一篇vue 路由子組件created和mounted不起作用的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue3頁面query參數(shù)變化并重新加載頁面數(shù)據(jù)方式
在Web開發(fā)中,頁面間的跳轉(zhuǎn)及數(shù)據(jù)刷新是常見問題,通過使用$router.push和$router.replace方法,可以控制頁面跳轉(zhuǎn)的行為,具體操作時,若發(fā)現(xiàn)頁面ID變更后數(shù)據(jù)未刷新,可通過給router-view標(biāo)簽添加key值解決,若使用keep-alive2024-10-10vue響應(yīng)式Object代理對象的修改和刪除屬性
這篇文章主要為大家介紹了vue響應(yīng)式Object代理對象的修改和刪除屬性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08