Vue.js tab实现选项卡切换
程序员文章站
2022-03-20 15:57:33
本文为大家分享了vuejs 组件化开发tab组件实例,供大家参考,具体内容如下
本文为大家分享了vuejs 组件化开发tab组件实例,供大家参考,具体内容如下
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>index</title> <link rel="stylesheet" href="css/index.css" rel="external nofollow" > <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>添加滑块内容:<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: ["第一项内容", "第二项内容"], num: 0, tabitem: "", tabcontent: "" } }, methods: { //切换滑块 toggle: function(index) { this.num = index; }, //添加滑块 additem: function() { if (this.tabitem == "" || this.tabcontent == "") { alert("填写完整的名称和内容"); } else { this.tabs.push(this.tabitem); this.tabcontents.push(this.tabcontent); } }, //双击删除滑块 del: function(index) { this.tabs.splice(index, 1); this.tabcontents.splice(index, 1) }, //编辑选项内容 editcontent: function(index, value) { this.tabcontents[index] = value; console.log(this.tabcontents); } } } } }); </script>
如果大家还想深入学习,可以点击两个精彩的专题:javascript选项卡操作方法汇总 jquery选项卡操作方法汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。