为了账号安全,请及时绑定邮箱和手机立即绑定

【Vue】Tab面板

标签:
Vue.js

webp

微信订阅号:Rabbit_svip



webp

微信订阅号:Rabbit_svip

HTML代码

<section id="tab">    <input type="button" v-for='i in inputValue' v-bind:value="i" v-bind:class='$index==index? "active" : ""' @click='change($index)'>

    <div v-for='i in divInner' v-show='$index==index ? true : false'>
        {{i}}    </div></section>

JS代码

new Vue({    el: '#tab',
    data: {
        index: 0,
        inputValue: ['aaa', 'bbb', 'ccc'],
        divInner: ['我是aaa','我是bbb','我是ccc']
    },    methods: {        change: function(myIndex) {
            this.index = myIndex;
        }
    }
});





CSS样式自己随便写。

Vue.js自行下载导入。

<script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>



js的代码

通过data,创建Tab标题数据(inputValue)和内容数据(divInner),真实开发的时候可以通过json等方式来接收后台数据。

data里面有一个index,通过index可以确定当前点击的是哪个tab标题,也就是用来检测点击了button了。然后通过 change() 这个方法来修改index值。从而决定了哪个div该显示,哪个div该隐藏。

默认index为0,设置默认被选中了第一个button,所以默认显示第一个<div>的内容。



HTML代码


点击标题(button按钮)
<input type="button" v-for='i in inputValue' v-bind:value="i" v-bind:class='$index==index? "active" : ""' @click='change($index)'>


v-for='i in inputValue'

循环输出多个button


v-bind:value="i"

可以简写为      :value="i"
通过 i 这个索引值,给button绑定不同的value。
可以理解为 value="inputValue[i]"


v-bind:class='$index==index? "active" : ""'

这里设置了button的class,如果仔细看,可以看到被点击的button字体会变粗。
这里通过三目运算符,判断当前button是否被选中了,如果选中了,$index就会等于index,这时当前button的class就是active,否则就为空。


@click='change($index)'

最后给button绑定一个change事件。
@click是简写,
非简写的形式为    v-on:click='change($index)'



内容的切换(div的切换)
<div v-for='i in divInner' v-show='$index==index ? true : false'>
    {{i}}</div>

通过v-for循环输出相应个数的<div>标签,并通过{{ i }}这种方法给对应<div>输出内容。

通过$index==index的方法,判定哪个<div>标签应该显示,哪个div标签应该隐藏。



作者:滑滑兔
链接:https://www.jianshu.com/p/551f65c44342


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消