vue实现tab切换外加样式切换方法
程序员文章站
2023-02-18 11:08:57
实例如下所示:
实例如下所示:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>title</title> <style> * { margin: 0; padding: 0; list-style: none } #app { width: 504px; height: 300px; margin: 100px auto; border: 1px solid #000; } ul { overflow: hidden; } li { width: 100px; height: 50px; float: left; text-align: center; line-height: 50px; border-bottom: 1px solid #000; border-right: 1px solid #000; } li:nth-child(5) { border-right: none; } .cur { height: 51px; background: blue; border-bottom: none; } </style> </head> <body> <div id="app"> <ul> <li v-for="(num,index) in nums" :class="{cur:iscur==index}" @click="iscur = index,tab('text'+(index+1))"> {{num.t}} </li> </ul> <div class="box"> <component :is='currentview' keep-alive></component> </div> </div> <script src="vue.js"></script> <script> const text1 = vue.component('text1', {template: `<div><h1>text111111111111</h1></div>`}); const text2 = vue.component('text2', {template: `<div><h1>text222222222222</h1></div>`}); const text3 = vue.component('text3', {template: `<div><h1>text333333333333</h1></div>`}); const text4 = vue.component('text4', {template: `<div><h1>text444444444444</h1></div>`}); const text5 = vue.component('text5', {template: `<div><h1>text555555555555</h1></div>`}); var vm = new vue({ el: "#app", data: { currentview: text1, nums: [{t: "text1"}, {t: "text2"}, {t: "text3"}, {t: "text4"}, {t: "text5"}], iscur: 0 }, methods: { tab(tabtext){ this.currentview = tabtext; } } }) </script> </body> </html>
以上这篇vue实现tab切换外加样式切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。