极乐门资源网 Design By www.ioogu.com
我就废话不多说了,大家还是直接看代码吧~
export default { data() { return { item: '' } }, watch: { item(now, before){ let remove = before.filter(x => now.indexOf(x) == -1); let add = now.filter(x => before.indexOf(x) == -1); /* 显示字符串或数组元素的增加和减少 */ console.log(add, remove); } } }
补充知识:Vuejs+Element监听-window.resize-el-menu响应式显示
效果
代码
template
<template> <div class="sidebar"> <!-- 折叠按钮 --> <div class="collapse-btn" @click="collapseChage"> <i class="el-icon-d-arrow-left" v-show="!collapse" title="收起"> <small>收缩侧边栏</small> </i> <i class="el-icon-d-arrow-right" v-show="collapse" title="展开"></i> </div> <el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" text-color="#8d9199" active-text-color="#20a0ff" unique-opened router > <template v-for="item in items"> <template v-if="item.subs"> <el-submenu :index="item.index" :key="item.index"> <template slot="title"> <i :class="item.icon"></i> <span slot="title">{{ item.title }}</span> </template> <template v-for="subItem in item.subs"> <el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index"> <template slot="title"> <i :class="subItem.icon"></i> {{ subItem.title }} </template> <el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index" >{{ threeItem.title }}</el-menu-item> </el-submenu> <el-menu-item v-else :index="subItem.index" :key="subItem.index"> <i :class="subItem.icon"></i> {{ subItem.title }} </el-menu-item> </template> </el-submenu> </template> <template v-else> <el-menu-item :index="item.index" :key="item.index"> <i :class="item.icon"></i> <span slot="title">{{ item.title }}</span> </el-menu-item> </template> </template> </el-menu> <div> <i class="el-icon-d-arrow-right" v-show="collapse" title="展开"></i> </div> </div> </template>
javascript
<script> import bus from "./bus"; import { menu } from "../../data/menu"; export default { data() { return { collapse: false, items: menu, screenWidth: 1000 }; }, computed: { onRoutes() { return this.$route.path.replace("/", ""); } }, created() { // 通过 Event Bus 进行组件间通信,来折叠侧边栏 bus.$on("collapse", msg => { this.collapse = msg; }); }, mounted() { // if (document.body.clientWidth < 1500) { // this.collapseChage(); // } const that = this; window.addEventListener("resize", function() { return (() => { window.screenWidth = document.body.clientWidth; that.screenWidth = window.screenWidth; })(); }); }, watch: { screenWidth(val) { if (!this.timer) { this.screenWidth = val; this.timer = true; let that = this; setTimeout(function() { // that.screenWidth = that.$store.state.canvasWidth console.log(that.screenWidth); that.auto(); that.timer = false; }, 400); } } }, methods: { // 侧边栏折叠 collapseChage() { this.collapse = !this.collapse; bus.$emit("collapse", this.collapse); }, auto() { if (this.screenWidth < 1200) { console.log("收起来"); this.collapse = true; bus.$emit("collapse", true); } else { console.log("展开"); this.collapse = false; bus.$emit("collapse", false); } } } }; </script>
css
<style scoped> .sidebar { z-index: 1024; display: block; position: fixed; left: 0; top: 70px; bottom: 0; overflow-y: scroll; } .sidebar::-webkit-scrollbar { width: 0; } .sidebar-el-menu:not(.el-menu--collapse) { width: 200px; } .sidebar > ul { height: 100%; /*写给不支持calc()的浏览器*/ height: calc(100% - 52px); top: 30px; background-color: rgb(235, 239, 243); border-top: 1px solid #d6d6d6; } .sidebar > ul > li, .sidebar > ul > li div { background-color: rgb(235, 239, 243); } .sidebar > ul > li > ul { background-color: rgb(235, 239, 243); } .el-menu { background-color: rgb(235, 239, 243); } i { margin-right: 10px; } .collapse-btn { height: 30px; width: 100%; cursor: pointer; line-height: 30px; position: absolute; top: 0; left: 0; background-color: #f4f6fa; color: #fff; text-align: center; overflow: hidden; box-sizing: border-box; box-shadow: 0 5px 10px #ddd; } .collapse-btn i { color: #8d9199; padding: 1px; cursor: pointer; overflow: hidden; text-overflow: ellipsis; } /* .collapse-btn:before{ content: ""; display: block; height: 0; border-top: 1px dotted #909399; position: absolute; left: 15px; right: 15px; top: 18px; } */ </style>
##注意"external nofollow" target="_blank" href="https://github.com/chengheai/daily-vue-demo/blob/master/src/pages/Side.vue">点击这里
以上这篇Vue 监听元素前后变化值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
标签:
Vue,监听,元素变化值
极乐门资源网 Design By www.ioogu.com
极乐门资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com
暂无Vue 监听元素前后变化值实例的评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月19日
2024年11月19日
- 黄乙玲1999-无字的情批[台湾首版][WAV+CUE]
- 何超仪.1996-何家淑女(EP)【华星】【WAV+CUE】
- 娃娃.1995-随风【滚石】【WAV+CUE】
- 林俊吉.2007-林俊吉【美华影音】【WAV+CUE】
- 梁静茹《勇气》滚石首版[WAV+CUE][1.1G]
- 刘若英《听说》[WAV+CUE][1.1G]
- 林忆莲《不如重新开始》 24K金 MQA 2022 再版[1.1G]
- 曾庆瑜1991-女人主意[派森][WAV+CUE]
- 江智民2024-《写给海洋HQ》头版限量编号[WAV+CUE]
- 谭咏麟2024《暴风女神Lorelei》头版限量编号MQA-UHQCD[WAV+CUE]
- 群星.2003-滚石黄金十年系列33CD【滚石】【WAV+CUE】
- 萧亚轩.2008-3面夏娃【维京】【WAV+CUE】
- 唐娜.1989-那年情人节好冷【喜玛拉雅】【WAV+CUE】
- 赵传《赵传奇》 滚石SACD系列 SACD限量版[ISO][1.1G]
- 黄龄《痒》天韵文化[WAV+CUE][1G]