vue tab切换

简介: vue tab切换

<!-- 交互的逻辑


1==》


如何实现 点击当前的那个菜单 给被点击的元素添加样似


@click="getclcik(index)" 记录当前被点击的元素的下标


:class="{active:cur==index} 如果匹配成功,则给这个元素添加一个类active


2==》


如何只显示 点击下标与之对应的内容


v-show="cur==index" 对应匹配


<style>
            ul li {
                margin: 0;
                padding: 0;
                list-style: none;
            }
            #app {
                width: 600px;
                height: 400px;
                margin: 0 auto;
                border: 1px solid #ccc;
            }
            .tab-tilte {
                width: 90%;
            }
            .tab-tilte li {
                float: left;
                width: 25%;
                padding: 10px 0;
                text-align: center;
                background-color: #f4f4f4;
                cursor: pointer;
            }
            /* 点击对应的标题添加对应的背景颜色 */
            .tab-tilte .active {
                background-color: #09f;
                color: #fff;
            }
            .tab-content div {
                float: left;
                width: 25%;
                line-height: 100px;
                text-align: center;
            }
        </style>
<div id="app">
            <!-- 推荐这种写法-->
            <ul class="tab-tilte">
                <li v-for="(title,index) in tabTitle" @click="getclcik(index)" :class="{active:cur==index}">{{title}}</li>
            </ul>
            <div class="tab-content">
                <div v-for="(m,index) in tabMain" v-show="cur==index">{{m}}</div>
            </div>
        </div>
var app = new Vue({
            el: '#app',
            data: {
                tabTitle: ['标题一', '标题二', '标题三', '标题四'],
                tabMain: ['内容一', '内容二', '内容三', '内容四'],
                cur: 0 //默认选中第一个tab
            },
            methods:{
              getclcik(value){
                 this.cur=value; 
              }    
            }
        })

1425695-20191107222940750-200101507.png

相关文章
|
10天前
|
JavaScript 前端开发 开发者
vue3+ts配置跨域报错问题解决:> newpro2@0.1.0 serve > vue-cli-service serve ERROR Invalid options in vue.
【6月更文挑战第3天】在 Vue CLI 项目中遇到 &quot;ERROR Invalid options in vue.config.js: ‘server’ is not allowed&quot; 错误是因为尝试在 `vue.config.js` 中使用不被支持的 `server` 选项。正确配置开发服务器(如代理)应使用 `devServer` 对象,例如设置代理到 `http://xxx.com/`: ```javascript module.exports = { devServer: {
24 1
|
18小时前
|
JavaScript 前端开发 测试技术
使用 Vue CLI 脚手架生成 Vue 项目
通过 Vue CLI 创建 Vue 项目可以极大地提高开发效率。它不仅提供了一整套标准化的项目结构,还集成了常用的开发工具和配置,使得开发者可以专注于业务逻辑的实现,而不需要花费大量时间在项目配置上。
53 7
使用 Vue CLI 脚手架生成 Vue 项目
|
2天前
|
JavaScript 算法
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
“Error: error:0308010C:digital envelope routines::unsupported”启动vue项目遇到一个错误【已解决
8 1
|
2天前
|
JavaScript
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
error Component name “Login“ should always be multi-word vue/multi-word-component-names【已解决】
6 1
|
2天前
|
JavaScript
vue知识点
vue知识点
10 3
|
3天前
|
JavaScript 前端开发 Java
【vue实战项目】通用管理系统:作业列表
【vue实战项目】通用管理系统:作业列表
16 0
|
3天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
【vue实战项目】通用管理系统:信息列表,信息的编辑和删除
20 2
|
3天前
|
JavaScript API
【vue实战项目】通用管理系统:信息列表,信息录入
【vue实战项目】通用管理系统:信息列表,信息录入
11 3
|
3天前
|
JavaScript 前端开发 API
【vue实战项目】通用管理系统:学生列表
【vue实战项目】通用管理系统:学生列表
16 2
|
3天前
|
缓存 JavaScript
【vue实战项目】通用管理系统:首页
【vue实战项目】通用管理系统:首页
10 2