vue.js实现选项卡切换

 更新时间:2022年03月01日 14:36:51   作者:轩辕秋风泪  
这篇文章主要为大家详细介绍了vue.js实现选项卡切换功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

因为前端课要交一个大作业,刚好工作室的项目需要一个后台管理界面,就自学了一下vue,今天做了一个选项卡切换,最开始的作为菜鸡是用的js做的,太难了T.T,后面学了bootstrap就直接用的组件。今天用了感觉太棒了!比bootstrap的组件好用!!!

一、实现原理

我是用的点击事件进行更改data数据的值,v-if指令根据数据的变化来显示/隐藏内容的

1、设置1个content数组,用来存储6个选项内容是否显示的boolean值,默认第一个显示

new Vue({
  el:".body",
    data:{
    a:123,
    content:[true,false,false,false,false,false]
  }
}

2、在选项内容中使用v-if指令

<div class="main-content h-100">
    <div v-show="content[0]" class="h-100 bg-warning" id="item-user">
        用户中心
    <div v-show="content[1]" class="h-100" id="">
        内容管理
    </div>
    <div v-show="content[2]" class="h-100" id="">
         消息推送
    </div>
    <div v-show="content[3]" class="h-100" id="">
          数据统计
    </div>
    <div v-show="content[4]" class="h-100" id="">
          运营
     </div>
     <div v-show="content[5]" class="h-100" id="">
          后台管理账户,权限
     </div>
</div>

3、在methods中写一个点击事件,根据事件的参数,把相应位置的content值为true,其他置为false

这里遇到一个错误,直接赋值会无效,因为data中的数组不能够通过下标直接更改数组中的数据,要通过this.$set(this.arr,index,newVal);方法来设置,或者直接赋值新数组

new Vue({
        el:".body",
        data:{
            a:123,
            content:[true,false,false,false,false,false]
        },
        methods:{
            switchItem:function (item) {
                console.log(item)
                for (let i = 0; i <6; i++) {
                    if(i==item){
                        this.$set(this.content,i,true);
                    } else{
                        this.$set(this.content,i,false);
                    }
                }
            }
        }
 })

4、选项绑定点击事件

<ul class="list-unstyled left-ul">
  <li class="bg-warning nav-item"><a @click="switchItem (0)" href="#person">用户中心</a></li>
  <li class="bg-info "><a @click="switchItem (1)" href="#content">内容管理</a></li>
  <li class="bg-dark "><a @click="switchItem (2)" href="#notification">消息推送</a></li>
  <li class="bg-success "><a @click="switchItem (3)" href="#data">数据统计</a></li>
  <li class="bg-warning "><a @click="switchItem (4)" href="#operate">运营</a></li>
  <li class="bg-info"><a @click="switchItem (5)" href="#system">系统设置</a></li>
</ul>

二、实现效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Vue3编程流畅技巧使用setup语法糖拒绝写return

    Vue3编程流畅技巧使用setup语法糖拒绝写return

    这篇文章主要为大家介绍了Vue3编程流畅技巧使用setup语法糖拒绝写return的方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue引入路径正确但一直报错问题:Already included file name ‘××ב differs from file name ‘××ב only in casing.

    Vue引入路径正确但一直报错问题:Already included file name&n

    这篇文章主要介绍了Vue引入路径正确但一直报错:Already included file name ‘××ב differs from file name ‘××ב only in casing.具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Vue路由与a标签链接锚点发生冲突问题及解决

    Vue路由与a标签链接锚点发生冲突问题及解决

    这篇文章主要介绍了Vue路由与a标签链接锚点发生冲突问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue pinia模块化全局注册详解

    Vue pinia模块化全局注册详解

    这篇文章主要介绍了Vue pinia模块化全局注册,Pinia是Vue.js团队成员专门为Vue开发的一个全新的状态管理库,并且已经被纳入官方github
    2023-02-02
  • vue3限制table表格选项个数的解决方法

    vue3限制table表格选项个数的解决方法

    这篇文章主要为大家详细介绍了vue3限制table表格选项个数的解决方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue3中的defineExpose使用示例教程

    vue3中的defineExpose使用示例教程

    这篇文章主要介绍了vue3中的defineExpose使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 在vue中使用echarts图表实例代码详解

    在vue中使用echarts图表实例代码详解

    本文通过实例代码给大家介绍了在vue中使用echarts图表的方法,需要注意的事项文中给大家提到,需要的朋友可以参考下
    2018-10-10
  • Vue组件的使用及个人理解与介绍

    Vue组件的使用及个人理解与介绍

    本文介绍了VUE中组件的基本使用以及个人对VUE组件的理解,希望能帮助到大家
    2019-02-02
  • Vue实战之项目开发时常见的几个错误汇总

    Vue实战之项目开发时常见的几个错误汇总

    vue作为前端主流的3大框架之一,目前在国内有着非常广泛的应用,下面这篇文章主要给大家介绍了关于Vue实战之项目开发时常见的几个错误汇总的相关资料,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下
    2023-03-03
  • vue中push()和splice()的使用解析

    vue中push()和splice()的使用解析

    这篇文章主要介绍了vue中push()和splice()的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论