<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      computed計(jì)算屬性

      對(duì)于任何復(fù)雜邏輯,你都應(yīng)當(dāng)使用計(jì)算屬性。
      computed計(jì)算屬性的作用是對(duì)數(shù)據(jù)的計(jì)算和緩存,優(yōu)點(diǎn)是能夠提高性能。
      vue2中,沒咋用vue2寫過項(xiàng)目,所以基本的代碼展示都以vue3的格式。

      method:{},
      computed:{},
      

      vue3

      const num1 = ref('')
            const num2 = ref('')
            const num3 = computed(() => {
              return Number(num1.value) + Number(num2.value)
            })
       // 計(jì)算屬性求和->不能直接修改,修改必須實(shí)現(xiàn)set方法
            const num3 = computed({
              get: () => {
                return Number(all.num1) + Number(all.num2)
              },
              set:(value) => {
                console.log(value)
                return all.num2 = Number(value) + 1
              }
            })
      

      監(jiān)聽watch

      監(jiān)聽基本屬性

      const nums = ref(9)
      watch(nums, (newValue, oldValue) => {
          console.log('watch 已觸發(fā)', newValue)
      })
      

      監(jiān)聽復(fù)雜類型

      const demo = reactive({
      	name: '小王',
      	nickName: '小王',
      	soulmate: {
      		name: '',
      		nickName: ''
      	}
      })
      
      //1.監(jiān)聽整個(gè)對(duì)象,只要這個(gè)對(duì)象有任何修改,那么就會(huì)觸發(fā) watch 方法。
      watch(demo, (newValue, oldValue) => {
          console.log('watch 已觸發(fā)', newValue)
      })
      //2.監(jiān)聽對(duì)象的所有屬性,跟第一種效果一樣
      watch(() => demo, (newValue, oldValue) => {
      	console.log('watch 已觸發(fā)', newValue)
      }, { deep: true })
      //3.監(jiān)聽具體屬性
      watch(() => demo.name, (newValue, oldValue) => {
          console.log('watch 已觸發(fā)', newValue)
      })
      //4.只監(jiān)聽子屬性,(孫屬性都不行)
      watch(() => ({ ...demo }), (newValue, oldValue) => {
          console.log('watch 已觸發(fā)', newValue)
      })
      
      //組合監(jiān)聽,用數(shù)組包括不同的類型,但是我覺得這樣的可讀性不是很好,還是要根據(jù)具體業(yè)務(wù)來
      watch([() => demo.name, nums], ([newName, newNums], [oldName, oldNums]) => {
      	console.log('watch 已觸發(fā): name', newName)
      	console.log('watch 已觸發(fā): nums', newNums)
      })
      

      第三個(gè)參數(shù),有immediate和deep兩種,immediate 的作用就是設(shè)置是否立即執(zhí)行監(jiān)控,當(dāng)我們將其值設(shè)置為 true 時(shí),那么被監(jiān)控的對(duì)象在初始化時(shí)就會(huì)觸發(fā)一次 watch 方法,相當(dāng)于頁(yè)面一刷新就會(huì)觸發(fā)。

      computed和watch的區(qū)別

      1、computed是計(jì)算屬性;watch是監(jiān)聽,監(jiān)聽data中的數(shù)據(jù)變化。

      2、computed支持緩存,當(dāng)其依賴的屬性的值發(fā)生變化時(shí),計(jì)算屬性會(huì)重新計(jì)算,反之,則使用緩存中的屬性值;watch不支持緩存,當(dāng)對(duì)應(yīng)屬性發(fā)生變化的時(shí)候,響應(yīng)執(zhí)行。

      const dataSource = computed({
        get() {
          return {
            fieldList: dataList.value,
          };
        },
        set(newValue) {
          const newList = newValue.fieldList;
          const newAllDataList = allDataList.value.map((table) => {
            const newTable = newList.find((item) => item.tableName === table.tableName);
            return newTable || table;
          });
          setAllDataList(newAllDataList);
        },
      });
      

      3、computed不支持異步,有異步操作時(shí)無法監(jiān)聽數(shù)據(jù)變化;watch支持異步操作。

      4、computed第一次加載時(shí)就監(jiān)聽;watch默認(rèn)第一次加載時(shí)不監(jiān)聽
      immediate 組件創(chuàng)建時(shí)刻執(zhí)行與否
      immediate: true,第一次加載時(shí)監(jiān)聽(默認(rèn)為false)

      watch(() => props.visible, (value) => {
        if (value) {//value的值就是props.visible,當(dāng)數(shù)據(jù)變化時(shí)觸發(fā)操作
          showSelectTableDialog.value = true;// 每次都默認(rèn)打開
        }
      }, { immediate: true });
      

      deep 深度監(jiān)聽 不推薦使用(非常的消耗性能)
      監(jiān)聽的屬性是對(duì)象的話 不開啟deep 對(duì)象子屬性變化不會(huì)觸發(fā)watch
      開啟了deep 對(duì)象內(nèi)部所有子屬性變化 都會(huì)觸發(fā)watch
      [deep還沒有用過,不是特別理解]
      5、computed中的函數(shù)必須調(diào)用return(計(jì)算后要有一個(gè)結(jié)果噻);watch不是。

      6、使用場(chǎng)景:
      computed:一個(gè)屬性受到多個(gè)屬性影響,如:購(gòu)物車商品結(jié)算。
      watch:一個(gè)數(shù)據(jù)影響多條數(shù)據(jù),如:搜索數(shù)據(jù)。
      數(shù)據(jù)變化響應(yīng),執(zhí)行異步操作,或高性能消耗的操作,watch為最佳選擇。

      參考資料:
      http://www.rzrgm.cn/meirongliu/p/17184104.html
      https://blog.csdn.net/weixin_64222137/article/details/129880092

      posted on 2023-11-03 15:42  CrashedCat  閱讀(36)  評(píng)論(0)    收藏  舉報(bào)



      主站蜘蛛池模板: 亚洲另类在线制服丝袜国产 | 综合偷自拍亚洲乱中文字幕| 亚洲精品无码日韩国产不卡av| 妓女妓女一区二区三区在线观看 | 国色天香中文字幕在线视频| 大地资源高清免费观看| 欧美亚洲一区二区三区在线| 91在线国内在线播放老师| 午夜免费无码福利视频麻豆| 任我爽精品视频在线播放 | 麻豆一区二区三区精品视频| 色伦专区97中文字幕| 久久天天躁狠狠躁夜夜躁2012| 亚洲国产精品综合久久20| 九九热在线免费视频播放| 国产人妻精品一区二区三区不卡 | 高潮迭起av乳颜射后入| 亚洲av成人在线一区| 国产69精品久久久久777| 欧美亚洲综合久久偷偷人人| 亚洲AV无码精品色午夜果冻| 宜兰县| 无码人妻斩一区二区三区| 高清偷拍一区二区三区| 精品国产粉嫩内射白浆内射双马尾| 国产偷人妻精品一区二区在线| 人妻少妇456在线视频| 国产精品自拍午夜福利| 自拍偷拍视频一区二区三区| 日韩人妻精品中文字幕| 影音先锋男人站| 亚洲欧美中文字幕日韩一区二区| 中文字幕一区二区三区精彩视频| 亚洲人妻一区二区精品| 亚欧洲乱码视频在线专区| 99久久国产综合精品女同| 久久精品国产一区二区三 | 成人性生交片无码免费看| 国产亚洲人成网站观看| 亚洲男人AV天堂午夜在| 日本一区二区中文字幕久久|