<template>
<div class="expense-center">
<div class="fl expense-left">
<p class="left-titles">费用中心</p>
<ul class="order-con">
<router-link to="/control-home/expense-center/my-order "><li @click="orderOne(0)" :class="clickColor==0?'click-color':'default-color'">我的订单</li></router-link>
<router-link to="/control-home/expense-center/renew-manage"><li class="default-color" @click="orderOne(1)" :class="clickColor==1?'click-color':'default-color'">续费管理</li></router-link>
<li class="order-par default-color">
<div @click="orderOne(2)" :class="clickColor==2?'click-color':'default-color'">发票管理<i class="order-close" :class="orderChildOne?'orderOpen':'order-close'"></i></div>
<ul class="order-child" v-show="orderChildOne" >
<li>发票索取</li>
<li>发票列表</li>
<li>发票信息管理</li>
<li>发票寄送地址管理</li>
</ul>
</li>
<li class="order-par default-color">
<div @click="orderTwo(3)" :class="clickColor==3?'click-color':'default-color'">合同管理<i class="order-close" :class="orderChildTwo?'orderOpen':'order-close'"></i></div>
<ul class="order-child" v-show="orderChildTwo">
<li>合同申请</li>
<li>合同管理</li>
</ul>
</li>
</ul>
</div>
<div class="fl expense-right">
<transition name="move" mode="out-in">
<router-view></router-view>
</transition>
</div>

</div>
</template>

<script>
export default {
data() {
return {
orderChildOne:false,//点击子列表显示隐藏
orderChildTwo:false,
clickColor:0,//点击对应的颜色
}
},
methods: {
orderOne:function(index){//点击显示子列表或隐藏子列表
if(index==1){//点击下标为2的时候下标为3也展开,实际效果是不展开的,加上判断就不会出现这种情况了
this.clickColor=index;
}else{
this.orderChildOne=!this.orderChildOne;
this.clickColor=index;
}

},
orderTwo:function(index){
this.orderChildTwo=!this.orderChildTwo;
this.clickColor=index;
}
}
};
</script>

<style lang="scss">
@mixin padding{
padding-bottom:2000px;
margin-bottom:-2000px;
}
@mixin boxsizing{
box-sizing:border-box;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
}
@mixin position{
position:absolute;
left: 148px;
top:15px;
}
.expense-center{
background:#f1f1f1;
}
.left-titles{
height:70px;
line-height:70px;
text-align:center;
font-size:18px;
color:#171f2a;
}
.expense-left{
width:180px;
background: #f1f1f1;
@include padding;
overflow:hidden;
}
.expense-right{
width:85%;
margin-top: 20px;
padding: 0 18px 60px 18px;
@include boxsizing;
overflow: hidden;
@include padding;
}
.order-con{
text-align:center;
line-height:40px;
font-size:14px;
color:#171f2a;
}
.default-color{
color:#171f2a;
background: #f1f1f1;
}
.click-color{
color:#42aeec;
background:#fff;
}
.order-par{
position:relative;
}
.order-child{
display:block;
font-size:12px;
line-height:40px;
text-align:left;
margin-left:80px;
color:#666;
}
.order-close{
display:inline-block;
width:6px;
height:10px;
background:url(../../../assets/images/fy-xfclose.gif) no-repeat;
background-size:100% 100%;
@include position;
}
/*修改样式*/
.orderOpen{
display:inline-block;
width:10px;
height:6px;
background:url(../../../assets/images/fx-xfopen.gif) no-repeat;
background-size:100% 100%;
@include position;
}

</style>

vue中遇到的一个点击展开或收起并且改变背景颜色的问题。的更多相关文章

  1. js 点击展开、收起

    //点击展开.收起 window.onload=function(){ var current=document.getElementsByTagName('li')[0]; document.bod ...

  2. Easyui之datagrid实现点击单元格修改单元格背景颜色

    前段时间有个需求中有点击datagrid的单元格实现某种事件,调用datagrid的onclickCell这个方法很容易实现,但是体验不好啊,完全不知道自己刚才点击的是哪个单元格,然后就尝试单击单元格 ...

  3. iOS 创建多个button实现点击改变背景颜色

    工程中需要实现与UISegmentedControl效果相似的一排一共十个button,如下图.但是SegmentedControl修改不太方便,就用button替代, 循环创建十个button,点击 ...

  4. 解决点击cell时,UILabel的背景颜色消失的问题

    -(void)setSelected:(BOOL)selected animated:(BOOL)animated{ [super setSelected:selected animated:anim ...

  5. xml中,button改变背景颜色方法

    在画几个设置界面,用到了button控件,对于button空间的背景色在不同状态下的颜色改变方法,做了一下尝试,发现了两种背景颜色改变的方法,就总结了下. 方法一尝试了好多遍才好,要点在于,在sele ...

  6. vue中使用vue-i18n 一个简单的国际化操作

    1.安装:npm install vue-i18n --save-dev 2.在main.js文件中引入: import VueI18n from 'vue-i18n' Vue.use(VueI18n ...

  7. vue中解决拖动和点击事件的冲突

    BUG说明: 鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认执行click事件,经验证,click事件与mouse事件的执行顺序为onmousedown =>onmouseup => ...

  8. 在vue中使用vuex 一个简单的实例

    1.安装vuex:npm install vuex --save 2.在main.js文件中引入vuex (请忽略其它代码) 3.建一个vuex文件夹,然后在建一个store.js(这两个文件名字可以 ...

  9. vue中使用element写点击input内部标签(使用模态框传值)

    首先附上源码地址 https://files.cnblogs.com/files/maruihua/vue-tagsinput-master.zip 这个是我修改后的代码.取消了部分功能,添加的一些功 ...

随机推荐

  1. inode引起的Linux无法创建新文件,磁盘空间不足

    df -h,判断硬盘空间是否已经满了,占用率达100% ,就可以断定该分区满了. df -ia,占用率达100%,也会导致无法创建新文件.一般都是存在大量小文件引起的. inode包含文件的元信息,具 ...

  2. yum安装下的nginx,如何添加模块,和添加第三方模块

    需求:生产有个接口是通过socket通信.nginx1.9开始支持tcp层的转发,通过stream实现的,而socket也是基于tcp通信. 实现方法:Centos7.2下yum直接安装的nginx, ...

  3. ffmpeg 编译

    下载FFmpeg git clone https://git.ffmpeg.org/ffmpeg.git 配置编译FFmpeg ./configure --prefix=host --enable-s ...

  4. win10环境下Android studio安装教程----亲测可用

    这段时间学习了一下Android的基本开发,发现Google已经停止了对eclipse的支持,并开发了自己的Android开发工具--Android Studio,于是想安装一下Android Stu ...

  5. Android 开发 创建WiFi、WiFi热点 ---开发集合

    WIFI 权限 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> < ...

  6. Android APK反编译(一)

    apk是安卓工程打包的最终形式,将apk安装到手机或者模拟器上就可以使用APP.反编译apk则是将该安卓工程的源码.资源文件等内容破解出来进行分析. 一.APK反编译基本原理 1.APK分析 apk文 ...

  7. 编程最好用的字体consolas

    python 自带idle最好用的字体consolas https://www.icourse163.org/learn/BIT-268001?tid=1002788003#/learn/forumd ...

  8. ReactiveX 学习笔记(22)使用 RxJS + Angular 进行 GUI 编程

    课题 程序界面由3个文本编辑框和1个文本标签组成. 要求文本标签实时显示3个文本编辑框所输入的数字之和. 文本编辑框输入的不是合法数字时,将其值视为0. 3个文本编辑框的初值分别为1,2,3. 创建工 ...

  9. jQuery.extend 与 jQuery.fn.extend

    extend方法为jQuery对象的核心之一,语法如下: jQuery.extend([deep], target, object1, [objectN]),返回值Object. 概述:用一个或多个其 ...

  10. Django中的class Meta

    元数据 class Meta做为嵌套类,主要目的是给上级类添加一些功能,或者指定一些标准 # 格式化  将返回的结果自定义 def __str__(self) rerurn self.username ...