用Vue.js实现简单的tab选项卡

前提:你对vue.js的一些指令和基本语法有一定的了解

基本思路:

  1. ,用v-for遍历data里的数据渲染到页面达到创建三个选项卡,三个图片的渲染,建立好结构
  2. 将三个选项卡用v-on绑定点击事件,v-bind绑定对应的类操纵图片的隐藏和显示还有tabx选项卡的高亮

<!DOCTYPE html>
<html lang='en'>

<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='./vue.js'></script>
   <style>


       li {
           width: 200px;
           height: 80px;
           line-height: 80px;
           text-align: center;
           float: left;
           border: 1px solid red;
           font-size: 50px;
           list-style: none;
       }
       .active {
           color: red;
           background-color: orange;
       }

       img {
           display: none;
           
       }
       .activeImg {
           display: block;
       }

   </style>

</head>

<body>
    <div id='app'>
   <ul>
       <li v-for='(item,index) in list' :key='index' 
        :class="index==currentIndex  ? 'active':''"
        @click='changeIndex(index)'
        >
          <span>  {{item.title}}</span> 
       
       </li>

   
        <img  
        v-for='(item,index) in list' :key='index' 
         v-bind:src="item.path" alt="" 
         :class="index==currentIndex  ? 'activeImg':''">
     
   </ul>


    </div>
    <script>
        new Vue({
            el: '#app',
            data: {

                currentIndex:0,

                list: [{
                    id: 1,
                    title: 'apple',
                    path: 'img/apple.png'
                }, {
                    id: 2,
                    title: 'orange',                                                                            
                    path: 'img/orange.png'
                }, {
                    id: 3,
                    title: 'lemon',
                    path: 'img/lemon.png'
                }]
            },
            methods:{
                changeIndex(i) {
                    this.currentIndex=i

                }
            }
        })
    </script>
</body>

</html>

 样式就别在意了,后期自己去改样式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值