欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用watch監(jiān)聽對象里面值的變化

 更新時間:2023年01月14日 11:14:23   作者:阿wei程序媛  
這篇文章主要介紹了使用watch監(jiān)聽對象里面值的變化,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

watch監(jiān)聽對象里面值的變化

后臺管理有時候有選擇選擇框的不同選項,會影響下一個選擇框的內(nèi)容,如下圖

 

 .這個時候就可以用到watch監(jiān)聽

1.樣式代碼

<div class="list">
      訂單類型:
      <el-select v-model="getorderType" placeholder="請選擇" @change="getchange">
           <el-option
                v-for="item in options1"
                :key="item.orderType"
                :label="item.label"
                :value="item.orderType">
           </el-option>
      </el-select>
</div>
<div class="list">
     操作對象:
     <el-select v-model="getworksRegion" placeholder="請選擇" @change="getchange1">
          <el-option
                v-for="item in options6"
                :key="item.worksRegion"
                :label="item.label"
                :value="item.worksRegion">
          </el-option>
     </el-select>
</div>

2.data里的代碼

  data() {
    return {
      verifyData: this.propData,
      editBoxShow: false,
      options1: [{
        orderType: '1',
        label: '首次出售'
      },{
        orderType:"2",
        label: "二次及以上掛售"
      }
      ],
      options2: [{
        worksRegion: '0',
        label: '原創(chuàng)作品'
      },{
        worksRegion:"1",
        label: "首頁大IP"
      },
        {
          worksRegion:"3",
          label: "盲盒"
        }
      ],
      options5: [{
        worksRegion: '0',
        label: '原創(chuàng)作品'
      },{
        worksRegion:"1",
        label: "首頁大IP"
      },{
          worksRegion:"2",
          label: "官方藏品"
        },
        {
          worksRegion:"3",
          label: "盲盒"
        }
      ],
      options6:[],
     
      queryParams:{
        id:"",
        orderType:'',//1 正常訂單(首次出售), 2 掛售訂單(二次及以上掛售)
        worksRegion:"",// 0 原創(chuàng) 1 平臺首發(fā) 2 官方藏品 3 盲盒
      },
      getorderType:"",
      getworksRegion:"",
    };
  },

3.watch監(jiān)聽

  watch:{
    'queryParams.orderType':function (newName,oldName){
      if(newName==1){
        this.options6 = this.options2
      }else if(newName==2){
        this.options6 = this.options5
      }
    }
  },

重點監(jiān)聽對象的形式為

? watch:{
? ? 'queryParams.orderType':function (newName,oldName){//newName 新數(shù)據(jù) oldName 老數(shù)據(jù)
? ? ??
? ? }
? },

對以上例子和代碼進(jìn)行理解,就可以理解watch監(jiān)聽對象里的值的變化。

watch如何深度監(jiān)聽對象變化

深度監(jiān)聽

  • handler:其值是一個回調(diào)函數(shù)。監(jiān)聽到變化時應(yīng)該執(zhí)行的函數(shù)。
  • deep:其值是true或false;確認(rèn)是否深入監(jiān)聽。(一般監(jiān)聽時是不能監(jiān)聽到對象屬性值的變化的,數(shù)組的值變化可以聽到。)
  • immediate:其值是true或false;確認(rèn)是否以當(dāng)前的初始值執(zhí)行handler的函數(shù)。

當(dāng)需要監(jiān)聽一個對象的改變時,普通的watch方法無法監(jiān)聽到對象內(nèi)部屬性的改變,此時需要deep屬性對對象進(jìn)行深度監(jiān)聽

watch: {
? ? obj: {
? ? ? handler(newValue, oldValue) {
? ? ? ? console.log(newValue.id);
? ? ? ? this.formData.fid = newValue ? newValue.id : 0;
? ? ? },
? ? ? deep: true,
? ? ? immediate: true
? ? }
? },

需要注意得到是 handler 是固定寫法,不能用其他的。

immediate表示在watch中首次綁定的時候,是否執(zhí)行handler,值為true則表示在watch中聲明的時候,就立即執(zhí)行handler方法,值為false,則和一般使用watch一樣,在數(shù)據(jù)發(fā)生變化的時候才執(zhí)行handler。

上面的視圖里 之所以刷新馬上就執(zhí)行了 handler函數(shù),就是因為設(shè)置了 immediate 屬性為 true

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法

    詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法

    本篇文章主要介紹了詳解vue 中使用 AJAX獲取數(shù)據(jù)的方法,在VUE開發(fā)時,數(shù)據(jù)可以使用jquery和vue-resource來獲取數(shù)據(jù),有興趣的可以了解一下。
    2017-01-01
  • vue通過數(shù)據(jù)過濾實現(xiàn)表格合并

    vue通過數(shù)據(jù)過濾實現(xiàn)表格合并

    這篇文章主要為大家詳細(xì)介紹了vue通過數(shù)據(jù)過濾實現(xiàn)表格合并,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • vue項目中各文件的使用說明

    vue項目中各文件的使用說明

    這篇文章主要介紹了vue項目中各文件的使用說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue項目打包發(fā)布后接口報405錯誤的解決

    vue項目打包發(fā)布后接口報405錯誤的解決

    這篇文章主要介紹了vue項目打包發(fā)布后接口報405錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue?頁面卡死,點擊無反應(yīng)的問題及解決

    vue?頁面卡死,點擊無反應(yīng)的問題及解決

    這篇文章主要介紹了vue?頁面卡死,點擊無反應(yīng)的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue生命周期與setup深入詳解

    Vue生命周期與setup深入詳解

    Vue的生命周期就是vue實例從創(chuàng)建到銷毀的全過程,也就是new Vue() 開始就是vue生命周期的開始。Vue 實例有?個完整的?命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom -> 渲染、更新 -> 渲染、卸載 等?系列過程,稱這是Vue的?命周期
    2022-09-09
  • 淺談Vue 性能優(yōu)化之深挖數(shù)組

    淺談Vue 性能優(yōu)化之深挖數(shù)組

    這篇文章主要介紹了淺談Vue 性能優(yōu)化之深挖數(shù)組,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 在vue項目中使用md5加密的方法

    在vue項目中使用md5加密的方法

    這篇文章主要介紹了在vue項目中使用md5加密的方法,需要的朋友可以參考下
    2018-09-09
  • vue中復(fù)用vuex.store對象的定義

    vue中復(fù)用vuex.store對象的定義

    這篇文章主要介紹了vue中復(fù)用vuex.store對象的定義,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 通過圖帶你深入了解vue的響應(yīng)式原理

    通過圖帶你深入了解vue的響應(yīng)式原理

    這篇文章主要介紹了通過圖帶你深入了解vue的響應(yīng)式原理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,
    2019-06-06

最新評論