返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue实现经典选项卡功能
  • 163
分享到

vue实现经典选项卡功能

2024-04-02 19:04:59 163人浏览 独家记忆
摘要

本文实例为大家分享了Vue实现经典选项卡的具体代码,供大家参考,具体内容如下 选项卡方法: 1. vue方法选项卡 2. 事件委托方法性能好点 2大经典选项卡思路: 1.3个li控制

本文实例为大家分享了Vue实现经典选项卡的具体代码,供大家参考,具体内容如下

选项卡方法: 1. vue方法选项卡 2. 事件委托方法性能好点

2大经典选项卡思路:

1.3个li控制1个div,每次点击li都控制div里面的内容发生变化
2.3个li控制3个div显示隐藏`

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta Http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
      *{
          margin:0;
          padding:0;
      }
      .tabBox{
          box-sizing:border-box; 
         
          margin:20px auto;
          
          width:600px;
      }
      .tabBox .tab{
          display: flex;
          position:relative;
          top:1px;
      }
      .tabBox .tab li{
          list-style:none;
          margin-right:10px;
          padding:0 20px;
         line-height:35px;
         border:1px solid #AAA;
         background: #EEE;
         cursor:pointer;
      }
      .tabBox .tab li.active{
         background: #FFF;
         border-bottom-color:#FFF;
       }
      .tabBox .content{
          
          height:300px;
          border:1px solid lightblue;
          padding:10px;
      }
       
    </style>

</head>
<body>
    <!-- 
        选项卡方法:
       1. vue方法选项卡
       2. 事件委托方法性能好点
        2大经典选项卡思路:
        1.3个li控制1个div,每次点击li都控制div里面的内容发生变化
        2.3个li控制3个div显示隐藏
    -->
    <div id="app">
        <div class="tabBox">
            <!-- 获得事件源,判断事件源,事件委托绑定给li的父级元素 -->
                <ul class="tab" >
                        <!-- @click='handle($event)' -->
                    <li v-for='(item,index) in tob ' v-html='item.name' :class="{active:index===curIndex}"  @click='handle($event,index,item.id)'></li>
                    <!-- @click='curIndex=index' </li>
                    <li>自定义方法:index='index'</li>
                    <li>纪录片</li> -->
                </ul>
 
                    <div  class="content" v-html='content'></div>
                    <!-- v-for='(item,index) in tob' v-html='item.children' :class="{content:true,active:index===curIndex}" -->
                <!-- <div class="content">动漫内容</div>
                <div class="content">纪录片内容</div> -->
             </div>
            </div>
      </body>
      <script src="node_modules/vue/dist/vue.min.js"></script>
      <script src="node_modules/axiOS/dist/axios.min.js"></script>
      <script>
          let tob =[{
              id:1,
              name:'音乐', 
          },
          {
              id:2,
              name:'影视',
              
          },{
              id:3,
              name:'动漫',
             
          },{
              id:4,
              name:'纪录片',
             
          }];
            let vm = new Vue({
                el:'#app',
                data:{
                    //=>选项卡数据 tob
                    tob,
                    //展示选项卡索引
                    curIndex:0,
                    //内容区域
                    content:'',
                },
                cearted(){
                      //生命周期函数(vue实例创建成功)
                      this.queryDATA(tob[this.curIndex]['id']);
                },
                methods:{
                    //ev传参事件委托方法
                    // handle(ev){
                    //    let target = ev.target,
                    //        tarTag = target.tagName;
                    //        if (tarTag === 'LI'){
                    //            this.curIndex = parseInt(target.getAttribute('index'));
                    //        }
                    // },
                    queryDATA(curID){
                        // 异步ajax请求
                        axios.get('data.JSON').then(response => {
                            return response.data;
                        }).then(result => {
                             let itemDATA = result.find(item => parseInt(item.id) === parseInt(curID));
                             console.log(result);
                             if (itemDATA) {
                                 this.content = itemDATA.content;
                                 return;
                             }
                             return Promise.reject();
                        }).catch(reason => {
                            this.content = '没有信息'
                        });
                    },
                    handle(ev,index,id){
                        if (this.curIndex === index) return;
                        this.curIndex = index;
                        this.queryDATA(id);
                    },
                }
            })
</script>
</html>

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

--结束END--

本文标题: vue实现经典选项卡功能

本文链接: https://lsjlt.com/news/141023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue实现经典选项卡功能
    本文实例为大家分享了vue实现经典选项卡的具体代码,供大家参考,具体内容如下 选项卡方法: 1. vue方法选项卡 2. 事件委托方法性能好点 2大经典选项卡思路: 1.3个li控制...
    99+
    2024-04-02
  • vue实现选项卡功能
    本文实例为大家分享了vue实现选项卡功能的具体代码,供大家参考,具体内容如下 原理分析和实现 这个很简单,无非就是一个点击切换显示而已。但是大家也要实现。如果这个看明白了,再看下面...
    99+
    2024-04-02
  • vue+elementui实现选项卡功能
    本文实例为大家分享了vue+elementui实现选项卡功的具体代码,供大家参考,具体内容如下 用法: 首先自己先在项目中定义三个组件(顶部TopNav,左侧LeftAside,中间...
    99+
    2024-04-02
  • Vue实现简单选项卡功能
    本文实例为大家分享了Vue实现简单选项卡的具体代码,供大家参考,具体内容如下 vue-tab-demo App.vue <template>   <div id=...
    99+
    2024-04-02
  • vue实现简易选项卡功能
    本文实例为大家分享了vue实现简易选项卡功能的具体代码,供大家参考,具体内容如下 1. 效果: 1. 实现发布评论功能 2. 实现评论列表的展示 3. 使用标签页切换的方式来实现 4...
    99+
    2024-04-02
  • vue怎么实现选项卡功能
    这篇文章主要介绍了vue怎么实现选项卡功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么实现选项卡功能文章都会有所收获,下面我们一起来看看吧。效果:原理分析和实现这个很简单,无非就是一个点击切换显示而...
    99+
    2023-06-29
  • Vue如何实现简单选项卡功能
    这篇文章将为大家详细讲解有关Vue如何实现简单选项卡功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下vue-tab-demoApp.vue<template> &nbs...
    99+
    2023-06-29
  • vue如何实现简易选项卡功能
    这篇文章主要讲解了“vue如何实现简易选项卡功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue如何实现简易选项卡功能”吧!1. 效果: 实现发布评论功能 实现评论列表的展示 使用标签页...
    99+
    2023-07-02
  • jQuery如何实现选项卡功能
    这篇文章主要介绍了jQuery如何实现选项卡功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图:代码如下:<!DOCTYPE&n...
    99+
    2024-04-02
  • jQuery实现嵌套选项卡功能
    本文实例为大家分享了jQuery实现嵌套选项卡功能的具体代码,供大家参考,具体内容如下 知识点总结: 1.siblings():兄弟元素,获得匹配集合中每个元素的同胞,通过选择器进行...
    99+
    2024-04-02
  • vue实现商品详情页功能之商品选项卡
    本文实例为大家分享了vue实现商品详情页功能之商品选项卡的具体代码,供大家参考,具体内容如下 用户点击商品进入商品详情页,默认显示第一个小图对应的大图,然后鼠标滑到小图上,大图也会发...
    99+
    2024-04-02
  • vue实现选项卡案例
    本文实例为大家分享了vue实现选项卡案例的具体代码,供大家参考,具体内容如下 实现步骤 实现静态UI效果 用传统的方式实现标签结构和样式 基于数据重构UI效果 将静态的结构和样式重...
    99+
    2024-04-02
  • vue怎么实现选项卡
    本篇内容介绍了“vue怎么实现选项卡”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下<!DOCTYPE html>...
    99+
    2023-06-29
  • vue如何实现选项卡
    这篇文章主要为大家展示了“vue如何实现选项卡”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现选项卡”这篇文章吧。具体内容如下实现步骤实现静态UI效果用传统的方式实现标签结构和样式基...
    99+
    2023-06-29
  • jQuery中如何实现套选项卡功能
    本篇内容主要讲解“jQuery中如何实现套选项卡功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jQuery中如何实现套选项卡功能”吧!siblings():兄弟元素,获得匹配集合中每个元素的...
    99+
    2023-06-20
  • js简单选项卡功能怎么实现
    要实现简单的选项卡功能,你可以使用JavaScript和HTML的结合。以下是一个简单的选项卡实现示例:```html.tabcon...
    99+
    2023-09-22
    js
  • vue实现打卡功能
    本文实例为大家分享了vue实现打卡功能的具体代码,供大家参考,具体内容如下 记录使用vue实现移动端日历打卡样式 templatecompareToNow:与当前时间比较-1:小于...
    99+
    2024-04-02
  • Vue实现Tab选项卡切换
    本文实例为大家分享了Vue实现Tab选项卡切换的具体代码,供大家参考,具体内容如下 点击不同的标题显示出相应的图片 代码如下 <!DOCTYPE html> <...
    99+
    2024-04-02
  • vue实现选项卡小案例
    本文实例为大家分享了vue实现选项卡小案例的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en">   <...
    99+
    2024-04-02
  • Android实现底部导航栏功能(选项卡)
    现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能。 我们先看下该d...
    99+
    2022-06-06
    选项卡 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作