电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Vue 監聽元素前后變化值實例

瀏覽:95日期:2022-12-23 16:31:02

我就廢話不多說了,大家還是直接看代碼吧~

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響應式顯示

效果

Vue 監聽元素前后變化值實例

代碼

template

<template> <div class='sidebar'> <!-- 折疊按鈕 --> <div @click='collapseChage'> <i v-show='!collapse'> &nbsp;&nbsp; <small>收縮側邊欄</small> </i> <i v-show='collapse'></i> </div> <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 v-show='collapse'></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>

##注意⚠️

此開發框架是github 名為 lin-xin 的 vue-manage-system

因公司項目需要兼容iPad,故而修改

詳細代碼點擊這里

以上這篇Vue 監聽元素前后變化值實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
主站蜘蛛池模板: 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 超声波反应釜【百科】-以马内利仪器 | 儿童语言障碍训练-武汉优佳加感统文化发展有限公司 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 直读光谱仪,光谱分析仪,手持式光谱仪,碳硫分析仪,创想仪器官网 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 流变仪-热分析联用仪-热膨胀仪厂家-耐驰科学仪器商贸 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 济南拼接屏_山东液晶拼接屏_济南LED显示屏—维康国际官网 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 上海律师事务所_上海刑事律师免费咨询平台-煊宏律师事务所 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 塑料薄膜_PP薄膜_聚乙烯薄膜-常州市鑫美新材料包装厂 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 |