<style>
.active{
color: red;
}
div a{
display: block;
}
</style>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<body>
<!--
1 循环除数据中的菜单选项
<li v-for="(v,i) in newInfo"> v表示数组newInfo中的所有数据
因此要获取菜单直接 v.typeName

2 获取当前点击的是第几个菜单选项
因此有点击事件 @click="index=i" 可以知道当前点击的是第几个元素的下标 赋值给index

3 第一个item表示的 newInfo下的所有数据
第一个info表示item.newList下的所有数据

4此时已经将所有的数据都已经展示出来了 如何只展示相关的数据
利用v-show结合索引值 index的菜单索引 是否 与内容索引i相等 v-show="index===i"

5给当前点击的菜单添加激活类
:class="{active:index===i}" 如果active等于true 就展示添加激活类
-->
<div id="myApp">
<!-- 菜单选项 -->
<li v-for="(v,i) in newInfo" @click="index=i" :class="{active:index===i}">
{{v.typeName}}
</li>

<!-- 内容 -->
<div v-for="(item,i) in newInfo" v-show="index===i">
<a :href="info.url" v-for="info in item.newList">{{ info.title}}</a>
</div>
</div>
</body>

<script>
var vm = new Vue({
el: '#myApp',
// data应该是一个对象哦
data: {
index: 0, //表示索引值
newInfo: [{
typeName: "军事",
newList: [{
title: "美国发誓“毫不留情”对抗伊朗",
url: "http://news.ifeng.com/a/20181107/60149207_0.shtml?_zbs_baidu_news"
},
{
title: "普京主动送给中国一大宝贝 白宫:必须制止",
url: "http://hot.qianyan001.com/20181108/787511_1.html"
}
]
},
{
typeName: "娱乐",
newList: [{
title: "众星出席时装电影盛典 周迅赵薇baby杨幂唐嫣同框",
url: "http://fun.youth.cn/gnzx/201811/t20181108_11778380.htm"
},
{
title: "张艺兴发博回应海外人气质疑:榜单见不如舞台见",
url: "http://new.qq.com/omn/20181107/20181107A0UQZ9.html"
},
{
title: "昆凌晒照带儿女秋日游玩 周杰伦委屈评论:也不带我",
url: "http://ent.ifeng.com/a/20181108/43134878_0.shtml"
}
]
}, {
typeName: "财经",
newList: [{
title: "房价真跌了?2018年10月热点城市“房价地图”1",
url: "http://new.qq.com/zt/template/?id=FIN2018100800260300"
},
{
title: "房价真跌了?2018年10月热点城市“房价地图”2",
url: "http://new.qq.com/zt/template/?id=FIN2018100800260300"
},
{
title: "房价真跌了?2018年10月热点城市“房价地图”3",
url: "http://new.qq.com/zt/template/?id=FIN2018100800260300"
}
]
}
]
}
})
</script>

vue之tab切换的更多相关文章

  1. vue 实现tab切换动态加载不同的组件

    vue 实现tab切换动态加载不同的组件 使用vue中的is特性来加载不同的组件.具体看如下代码:这个功能对于vue比较复杂的页面可以使用上,可以把一个页面的功能拆分出来,使代码更简单.使用方式具体看 ...

  2. vue封装tab切换

    vue封装tab切换 预览: 第一种 通过父传子标题,子传父事件 子组件 <template> <div class='app'> <div class="ta ...

  3. vue实现tab切换功能

    最近用vue做一个页面的tab功能,经过一查找资料,没用路由,也没用动态组件,完美实现了tab切换功能,效果如下 下面是代码实现,这是模板 <article id="example&q ...

  4. VUE 实现tab切换页面效果

    一 163邮箱登录tab切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  5. vue实现tab切换

    需要弄类似tab切换的功能就是一个点击切换上一页下一页的页面 找到这个获得灵感 <!DOCTYPE html> <html lang="en"> <h ...

  6. vue -vantUI tab切换时 list组件不触发load事件解决办法

    最近由于公司项目需要,用vue写了几个简单的页面.用到了vantUI List 列表 瀑布流滚动加载,用于控制长列表的展示 当列表即将滚动到底部时,会触发事件并加载更多列表项. (页面加载完成后默认会 ...

  7. Vue如何tab切换高亮最简易方法

    以往我们实现tab切换高亮通常是循环遍历先把所有的字体颜色改变为默认样式,再点亮当前点击的选项,而我们在vue框架中实现tab切换高亮显示并不需要如此,只需要将当前点击选项的index传入给一个变量, ...

  8. vue实现tab切换功能精简版

    <template> <div> <p class="tabs" v-for="(list,index) in lists" :c ...

  9. vue类似tab切换的效果,显示和隐藏的判断。

    两者切换,动态显示对应的列表详情. 通过v-show的判断 数据驱动

随机推荐

  1. Scrapy对接Selenium

    首先pip安装selenium,然后下载浏览器驱动 WebDrive下载地址 chrome的webdriver:http://chromedriver.storage.googleapis.com/i ...

  2. React中循环渲染类似Vue中 的v-for

    17==>循环数组 类似v-for import React, { Component } from "react"; export default class CharSh ...

  3. fallowing-travelvue

    1. 2.Header.vue 3.Swiper.vue . 4.Icons.vue 解决了上次轮播图--分页小圆点不显示的问题,本来以为图片应该都可以,结果换了轮播长图之后,小圆点听话的显示出啦 而 ...

  4. JAVA中int转String类型有三种方法

    String.valueOf(i) Integer.toString(i) i+"" i+""也就是一个int型的常量.+上个空的字符串,这里牵涉到了strin ...

  5. laravel依赖注入浅析

    laravel容器包含控制反转和依赖注入,使用起来就是,先把对象bind好,需要时可以直接使用make来取就好. 通常我们的调用如下. $config = $container->make('c ...

  6. Mybatis关联查询之三

    MyBatis的关联查询之自关联 自关联 一.entity实体类 public class City { private Integer cid; private String cname; priv ...

  7. SQLServer临时库文件太大,迁移tempdb数据库

    问题描述: 最近公司这边tempdb库文件很大,几百GB的节奏 不过安装数据库的时候,tempdb最好不要放在C盘是放在D盘其他数据盘的 如果没有放在其他盘符下面,就需要做迁移了 解决方法: 如果te ...

  8. 由浅入深,讲解 spring 实战详细使用——spring 源码篇

    首先,这篇文章不会详细的深入底层源码,只是基于注解和配置来说说我们的 spring 的使用,别小看基础,保证有你没用过的注解和配置,走起. 我们先来建立一个 maven 项目,引入 spring 文件 ...

  9. F5的作用

    F5 F5的全称是F5-BIG-IP-GTM,是最流行的硬件负载均衡设备,其并发能力达到百万级.F5的主要特性包括: 多链路的负载均衡和冗余 可以接入多条ISP链路,在链路之间实现负载均衡和高可用. ...

  10. cmd命令详解

    这几天用了一下Windows系统的“黑框”,即win+R键,发现有些命令都忘了,还得查,就总结了一下: cmd命令 CMD命令:开始->运行->键入cmd或command(在命令行里可以看 ...