如图,三个标题分别有多个子元素。通过点击三个标题分别控制显示和隐藏。上代码

第一种情况:点击 青1,其所有的标题下的列表全部隐藏,也就是只有一个标题的会显示子元素

<div class="items" v-for="(item,index) in list">

<div class="item_top"  @click="clickTitle(index)"> //通过当前列表的index和data里面自定义的aIndex属性进行判断,如果相同,就显示当前子元素<span class="title">
{{item.title}}
</span><div class="item_right"><span class="num">{{item.items.length}}个</span><img src="data:images/top.png" alt="" v-show="aIndex == index"><img src="data:images/bottom.png" alt="" v-show="!aIndex == index"></div></div><!-- 子列表 --><div class="item" v-for="(proItem,proIndex) in item.items" v-show="aIndex == index">
{{proItem}}
</div></div>
clickTitle:function(index){

        if(aIndex == index){ 
            aIndex = -1; 
}else{
aIndex = index;
} }
//如果当前元素已经被点击并显示子列表,那么aindex肯定就等于index,
           
所以让aindex赋值为负值,所以此时,aindex和所有的标题的index都不相等,所以当前的被点击的会被隐藏。否则,当前被点击的被index赋值,并显示子元素

data: {
aIndex:'', //定义一个中间变量
list:[{
title:'青1',
items:[
'青岛市市立医院1','青岛市市立医院2','青岛市市立医院3'
],
show: false, //在循环里面加一个状态判断条件,在方法里面通过show状态判断是显示还是隐藏
},
{
title:'青2',
items:[
'青岛市市立医院1','青岛市市立医院2'
],
show: false,
},
{
title:'青3',
items:[
'青岛市市立医院1','青岛市市立医院2','青岛市市立医院3'
],
show: false,
},]
},

第二种情况:点击青1,显示青1下的子元素。点击青2或者其他,青1子元素依旧存在,不会有状态的改变。


//通过点击传过来的当前item下的show属性,动态的切换显示和隐藏,不影响其他的列表
<div class="items" v-for="(item,index) in list">
<div class="item_top" @click="clickTitle(item)">
<span class="title">
{{item.title}}
</span>
<div class="item_right">
<span class="num">{{item.items.length}}个</span>
<img src="data:images/top.png" alt="" v-show="item.show">
<img src="data:images/bottom.png" alt="" v-show="!item.show">
</div>
</div>
<!-- 子列表 -->
<div class="item" v-for="(proItem,proIndex) in item.items" v-show="item.show">
{{proItem}}
</div>
</div>
data: {
list:[{
title:'青1',
items:[
'青岛市市立医院1','青岛市市立医院2','青岛市市立医院3'
],
show: false, //在循环里面加一个状态判断条件,在方法里面通过show状态判断是显示还是隐藏
},
{
title:'青2',
items:[
'青岛市市立医院1','青岛市市立医院2'
],
show: false,
},
{
title:'青3',
items:[
'青岛市市立医院1','青岛市市立医院2','青岛市市立医院3'
],
show: false,
},]
},
clickTitle:function(item){
//通过点击传过来的当前item下的show属性,动态的切换显示和隐藏,不影响其他的列表
item.show = !item.show;
}

vue通过v-for渲染的列表,可以单独操作的其中的列表的两种方法的更多相关文章

  1. vue里使用element饿了么的el-menu+vue-router实现路由跳转的两种方法

    最近准备写一个echarts的可视化展示案例,首先用vue-cli3创建了一个项目(好像vue-cli4也出来,感觉变化不大,就没升级了) 然后,开始配置路由↓下面是我的router.js文件 imp ...

  2. 两种方法使vue实现jQuery调用

    引言 如果说vue是前端工程化使用较多的骨架,那么JavaScript就是我们的前端的细胞.MVVM模式让我们体验到前端开发的便携,无需再过多的考虑DOM的操作.而vue的渐进式开发(逐步引用组件,按 ...

  3. 织梦首页、列表页调用文章body内容的两种方法

    http://blog.csdn.net/langyu1021/article/details/52261411 关于首页.列表页调用文章body内容的两种方法,具体方法如下: 第一种方法: {ded ...

  4. DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法

    DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法: 一.DedeCMSv5.6及其以前版本: dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种 ...

  5. 解决vue项目eslint校验 Do not use 'new' for side effects 的两种方法

    import Vue from 'vue' import App from './App.vue' import router from './router' new Vue({ el: '#app' ...

  6. Vue 创建组件的两种方法

    地址:https://blog.csdn.net/cofecode/article/details/74634301 创建组件的两种方法 1.全局注册 2.局部注册 var child=Vue.ext ...

  7. JMeter接口测试-提取动态列表最后一个值的两种方法

    前言 在用JMeter做接口测试时,我们经常会遇到,一个接口返回一个json串,在这个json串中,某个节点的值是一个列表,而且这个列表的长度是动态变化的.今天我们来学习两种提取动态列表最后一个值的两 ...

  8. AE工程渲染的时间缓慢,两种方法减少对AE工程渲染的时间!

    AE工程渲染的时间缓慢,两种方法减少对AE工程渲染的时间!3秒的片头,渲染时间竟然要花1个多小时,很多新手都产生过这样的疑问?是哪里不对吗?如何才能减少渲染视频的时间?且听我一一道来.主要原因是:工程 ...

  9. PyQt(Python+Qt)学习随笔:model/view架构中支持QListView列表中展示图标的两种方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QListView列表视图中的项不但可以展示文字,也可以展示图标和复选框,同时可以指定项是否可以拖 ...

  10. vue中使用echarts的两种方法

    在vue中使用echarts有两种方法一.第一种方法1.通过npm获取echarts npm install echarts --save 2.在vue项目中引入echarts 在 main.js 中 ...

随机推荐

  1. Luogu P5368 [PKUSC2018]真实排名

    老年选手只会做SB题了(还调了好久) 很容易想到分类讨论,按第\(i\)个人有没有翻倍来算 若\(a_i\)未翻倍,显然此时将\([0,\lceil \frac{a_i}{2}\rceil)\)的数和 ...

  2. IT兄弟连 Java语法教程 数组 数组的声明

    Java语言支持两种语法格式来定义数组: type[] arrayName; type arrayName[]; 对这两种语法格式而言,通常推荐使用第一种格式,因为第一种格式不仅具有更好的语义,而且具 ...

  3. PHP 源码学习 | 变量类型数据结构

    前段时间因为项目需要,研究了一下在 Windows 系统下进行 PHP 扩展的开发,对于 PHP 扩展的开发并不是一件容易的事情(话又说回来了,会者不难,难者不会,关键是自己不会).我当时的需求,主要 ...

  4. sql慢查询工具(配置代码)

    # 在mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]中配置懒查询 slow_query_log = ON # 是否已经开启慢查询 long_q ...

  5. 学习UML类图

    在类图中一共包含以下几种模型元素,分别是:类(class).接口(interface)以及类之间的关系. 1.类(class) 在面向对象编程中,类是对现象世界中一组具有相同特征的物体的抽象. 2.接 ...

  6. 转 SSD论文解读

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u010167269/article/det ...

  7. 一段不错的iframe自适应的代码直接拿来用了

    一段不错的iframe自适应的代码直接拿来用了 <?php echo " <!DOCTYPE html> <html lang='en'> <head&g ...

  8. 【IDEA】(1)---MAC下常用快捷键

    IDEA常用快捷键 IDEA是一个很好的开发工具,用好它能大大提高我们的开发效率,所以这里学习总结下有关IDEA实用的一些教程,比如常用快捷键,如何自定义代码模版,如何debug异常断点,或者说多线程 ...

  9. WPF线段式布局的一种实现

    线段式布局 有时候需要实现下面类型的布局方案,不知道有没有约定俗成的称呼,我个人强名为线段式布局.因为元素恰好放置在线段的端点上. 实现 WPF所有布局控件都直接或间接的继承自System.Windo ...

  10. 初学Python常见异常错误,总有一处你会遇到!

    初学Python常见错误 忘记写冒号 误用= 错误 缩紧 变量没有定义 中英文输入法导致的错误 不同数据类型的拼接 索引位置问题 使用字典中不存在的键 忘了括号 漏传参数 缺失依赖库 使用了pytho ...