最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 監(jiān)聽元素前后變化值實例

 更新時間:2020年07月29日 15:30:59   作者:兔走丶  
這篇文章主要介紹了Vue 監(jiān)聽元素前后變化值實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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);
  /* 顯示字符串或數(shù)組元素的增加和減少 */
  console.log(add, remove);
 }
 }
}

補充知識:Vuejs+Element監(jiān)聽-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="收起">
 &nbsp;&nbsp;
 <small>收縮側(cè)邊欄</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 進行組件間通信,來折疊側(cè)邊欄
 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: {
 // 側(cè)邊欄折疊
 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>

##注意⚠️

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

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

詳細代碼點擊這里

以上這篇Vue 監(jiān)聽元素前后變化值實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue使用less報錯:Inline JavaScript is not enabled問題

    vue使用less報錯:Inline JavaScript is not ena

    這篇文章主要介紹了vue使用less報錯:Inline JavaScript is not enabled問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 對vue2.0中.vue文件頁面跳轉(zhuǎn)之.$router.push的用法詳解

    對vue2.0中.vue文件頁面跳轉(zhuǎn)之.$router.push的用法詳解

    今天小編就為大家分享一篇對vue2.0中.vue文件頁面跳轉(zhuǎn)之.$router.push的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue動態(tài)添加背景圖簡單示例

    vue動態(tài)添加背景圖簡單示例

    這篇文章主要給大家介紹了關(guān)于vue動態(tài)添加背景圖的相關(guān)資料,在一些場景下我們需要使用戶可以進行自定義背景圖片,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Vue.js自定義指令的基本使用詳情

    Vue.js自定義指令的基本使用詳情

    這篇文章主要介紹了Vue.js自定義指令的基本使用詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下
    2022-05-05
  • vue+iview+less 實現(xiàn)換膚功能

    vue+iview+less 實現(xiàn)換膚功能

    這篇文章主要介紹了vue+iview+less 實現(xiàn)換膚功能,項目搭建用的vue—cli,css框架選擇的iview,具體操作流程大家跟隨腳本之家小編一起看看吧
    2018-08-08
  • 在Vue3項目中使用Jest配置生成測試報告的示例詳解

    在Vue3項目中使用Jest配置生成測試報告的示例詳解

    在Vue 3項目中使用Jest進行單元測試是一種常見的做法,它可以幫助我們驗證代碼的正確性和穩(wěn)定性,本文將介紹如何在Vue 3項目中配置Jest,以生成測試報告,需要的朋友可以參考下
    2023-09-09
  • Vue檢測屏幕變化來改變不同的charts樣式實例

    Vue檢測屏幕變化來改變不同的charts樣式實例

    這篇文章主要介紹了Vue檢測屏幕變化來改變不同的charts樣式實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 前端vuex中dispatch的使用方法總結(jié)

    前端vuex中dispatch的使用方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于前端vuex中dispatch使用方法的相關(guān)資料,vuex的dispatch方法用于觸發(fā)一個action,以便更新state,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • 詳解Vue-axios 設置請求頭問題

    詳解Vue-axios 設置請求頭問題

    這篇文章主要介紹了Vue-axios 設置請求頭問題,文中給大家提到了axios設置請求頭內(nèi)容的方法,需要的朋友可以參考下
    2018-12-12
  • Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    Vue前端左側(cè)菜單右側(cè)內(nèi)容的網(wǎng)站界面制作過程

    這篇文章主要介紹了使用Vue和ElementUI制作一個帶有左側(cè)菜單和右側(cè)內(nèi)容區(qū)的網(wǎng)站頁面的過程,文中通過CSS樣式和深度作用符,實現(xiàn)了頁面的美化和功能的完善,需要的朋友可以參考下
    2025-02-02

最新評論

保定市| 忻城县| 陕西省| 射洪县| 象州县| 彭泽县| 阜新市| 邻水| 依兰县| 营口市| 纳雍县| 慈利县| 宁国市| 高阳县| 分宜县| 雷波县| 林西县| 逊克县| 淮滨县| 岚皋县| 开化县| 信丰县| 称多县| 固安县| 达孜县| 武隆县| 家居| 新源县| 永康市| 秭归县| 建湖县| 凌源市| 响水县| 鸡泽县| 新绛县| 壶关县| 岚皋县| 尤溪县| 东乡| 乌鲁木齐县| 青河县|