vue2.j 动态class、v-if 活学活用

本文展示了如何在Vue2.js中使用动态class和v-if指令来实现页面交互。通过点击不同的配置选项(服务配置、网络配置、端口配置),相应组件根据v-if条件显示和隐藏,同时应用不同class实现高亮状态。这种方式增强了用户体验并优化了代码结构。
摘要由CSDN通过智能技术生成

<template>

  <div class="cfg-page-con poi">

    <div class="page-inline">

      <div class="page-bestinline">

        <div class="layout">

          <div class="page-upper">

            <div class="page" :class="{'active':isActive}" style="width:65px" @click="a">服务配置</div>

            <div class="page" :class="{'active':isActive1}" style="width:65px" @click="b">网络配置</div>

            <div class="page" :class="{'active':isActive2}" style="width:65px" @click="c">端口配置</div>

          </div>

          <div>

            <div v-if="show">

              <ServerCfg></ServerCfg>

            </div>

            <div v-if="show1">

              <NetCfg></NetCfg>

            </div>

            <div v-if="show2">

              <PortCfg></PortCfg>

            </div>

          </div>

        </div>

        <img src="@/assets/img/fire-saver.jpg" style="margin-top:90px" class="function-img" alt="">

        <!-- <el-collapse v-model="activeNames" @change="handleChange" accordion>

          <el-collapse-item class="serve"  title="服务配置" name="1">

            <ServerCfg></ServerCfg>

          </el-collapse-item>

          <el-collapse-item class="bottom" title="网络配置" name="2">

            <NetCfg></NetCfg>

          </el-collapse-item>

          <el-collapse-item title="端口配置" name="3">

            <PortCfg></PortCfg>

          </el-collapse-item>

        </el-collapse> -->

      </div>

    </div>

  </div>

</template>

<script>

import ServerCfg from './ServerCfg'

import NetCfg from './NetCfg'

import PortCfg from './PortCfg'

import PwdModify from './PwdModify'

import FireCfg from './FireCfg'

export default {

  name: 'index',

  components: {

    FireCfg,

    ServerCfg: ServerCfg,

    NetCfg: NetCfg,

    PortCfg: PortCfg,

    PwdModify: PwdModify

  },

  data() {

    return {

      activeNames: ['1'],

      fireVer: '消防配置 ',

      show: true,

      show1: false,

      show2: false,

      isActive: true,

      isActive1: false,

      isActive2: false

    }

  },

  methods: {

    handleChange(val) {

      console.log(val)

    },

    changedFire(val) {

      this.fireVer = val

    },

    a() {

      this.show = true

      this.show1 = false

      this.show2 = false

      this.isActive = true

      this.isActive1 = false

      this.isActive2 = false

    },

    b() {

      this.show = false

      this.show1 = true

      this.show2 = false

      this.isActive = false

      this.isActive1 = true

      this.isActive2 = false

    },

    c() {

      this.show = false

      this.show1 = false

      this.show2 = true

      this.isActive = false

      this.isActive1 = false

      this.isActive2 = true

    }

  }

}

</script>

<style scoped>

.cfg-page-con {


 

  overflow-x: hidden;

  overflow-y: auto;

}

::v-deep .el-collapse-item__header.is-active {

  border-bottom: 1px solid #ebeef5;

}

::v-deep .el-collapse-item__wrap {

  border: none;

}

.page-inline {

  background-color: #fff;

  border-radius: 15px;

  margin-top: 15px;

}

.page-bestinline {

  padding: 20px;

}

.bottom {

  margin-bottom: 10px;

}

.left-serve {

  font-size: 16px;

  color: black;

  margin-top: 20px;

}

.layout {

  display: flex;

  /* justify-content: center; */

}

.page-upper{

 cursor: pointer;

}

.page {

  padding: 3px;

  width: 10%;

  font-size: 16px;

  color: black;

  margin-top: 10px;

  background-color: #fff;

}

.active {

  color: rgba(0, 0, 0, 0.863);

  font-size: bold;

    border-bottom: 2px solid #4BA0FC;

}

.active:hover {

  color: #4BA0FC;

  font-size: bold;

    border-bottom: 2px solid #4BA0FC;

}

body{

  cursor: pointer;

}

.poi{

  cursor: pointer;

}

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值