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

vue中watch監(jiān)聽器的觸發(fā)時(shí)機(jī)(watch的坑及解決)

 更新時(shí)間:2022年04月11日 08:51:50   作者:敲完這個(gè)我就再也不熬夜了  
這篇文章主要介紹了vue中watch監(jiān)聽器的觸發(fā)時(shí)機(jī)(watch的坑及解決),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

watch監(jiān)聽器的觸發(fā)時(shí)機(jī)

起因

我需要在頁面created時(shí)獲得商家的類型id值,然后監(jiān)聽id值,動(dòng)態(tài)的改變請(qǐng)求接口的地址。請(qǐng)求接口的函數(shù)在mounted中執(zhí)行。業(yè)務(wù)邏輯寫完后發(fā)現(xiàn),頁面在第一次加載時(shí),接口沒有數(shù)據(jù),原因接口地址為空,即接口地址沒有改變。

代碼

 created() {
    this.typeId = this.$route.params.id;
    console.log("this.typeId的值發(fā)生改變,觸發(fā)watch");
  },
  mounted() {
    console.log(this.typeUrl, "mounted中的typeUrl的值");
    //訪問接口的函數(shù)
    this.getData();
  },

watch

  watch: {
  // 監(jiān)聽訂單類型 給出對(duì)應(yīng)面包屑
  typeId: function (val) {
    if (val == 1) {
      console.log("watch觸發(fā)了");
      this.selfBreadcrumb[1].name = "核銷訂單";
      this.typeUrl = "settlements";
      console.log(this.typeUrl, "這里是watch");
    } else if (val == 2) {
      this.selfBreadcrumb[1].name = "物流訂單";
      this.typeUrl = "logistics-orders";
    } else if (val == 4) {
      this.selfBreadcrumb[1].name = "外賣訂單";
      this.typeUrl = "takeout-orders";
    }
  },

控制臺(tái)

在這里插入圖片描述

說明

watch的觸發(fā)會(huì)在created和mounted結(jié)束后。

先占個(gè)坑,具體原理如何只有等我項(xiàng)目完成了再來康康。

vue watch的理解小記

剛開始學(xué)時(shí),感覺自己懂了??墒堑接脮r(shí)才發(fā)現(xiàn)自己是渣渣中的渣渣。。。

想通過路由id的變化來改變組件的加載數(shù)據(jù)時(shí),遇到了一個(gè)問題,就是,組件不會(huì)重新渲染。一臉懵逼了,,,

找到了watch的監(jiān)控方法時(shí),又用不好。扣扣會(huì)用了一些,趕緊記下來。

首先確認(rèn) watch是一個(gè)對(duì)象,一定要當(dāng)成對(duì)象來用。

對(duì)象就有鍵,有值。

  • 鍵:就是你要監(jiān)控的那個(gè)家伙,比如說$route,這個(gè)就是要監(jiān)控路由的變化。或者是data中的某個(gè)變量。
  • 值可以是函數(shù):就是當(dāng)你監(jiān)控的家伙變化時(shí),需要執(zhí)行的函數(shù),這個(gè)函數(shù)有兩個(gè)形參,第一個(gè)是當(dāng)前值,第二個(gè)是變化后的值。
  • 值也可以是函數(shù)名:不過這個(gè)函數(shù)名要用單引號(hào)來包裹。

第三種情況厲害了。

值是包括選項(xiàng)的對(duì)象:選項(xiàng)包括有三個(gè)。

  • 第一個(gè)handler:其值是一個(gè)回調(diào)函數(shù)。即監(jiān)聽到變化時(shí)應(yīng)該執(zhí)行的函數(shù)。
  • 第二個(gè)是deep:其值是true或false;確認(rèn)是否深入監(jiān)聽。(一般監(jiān)聽時(shí)是不能監(jiān)聽到對(duì)象屬性值的變化的,數(shù)組的值變化可以聽到。)
  • 第三個(gè)是immediate:其值是true或false;確認(rèn)是否以當(dāng)前的初始值執(zhí)行handler的函數(shù)。
var vm = new Vue({
? data: {
? ? a: 1,
? ? b: 2
? },
? watch: {
? ? a: function (val, oldVal) {
? ? ? console.log('new: %s, old: %s', val, oldVal)
? ? },
? ? // 方法名
? ? b: 'someMethod',
? ? // 選項(xiàng)的對(duì)象
? ? c: {
? ? ? handler: function (val, oldVal) { /* ... */ },
? ? ? deep: true,
? ? ? immediate: true
? ? }
? }
})

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

相關(guān)文章

  • Vue Echarts實(shí)現(xiàn)圖表輪播圖以及圖表組件封裝和節(jié)流函數(shù)優(yōu)化講解

    Vue Echarts實(shí)現(xiàn)圖表輪播圖以及圖表組件封裝和節(jié)流函數(shù)優(yōu)化講解

    這篇文章主要介紹了在Vue中優(yōu)雅的使用Echarts實(shí)現(xiàn)圖表輪播圖、Echarts圖表組件封裝、節(jié)流函數(shù)優(yōu)化圖表性能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • vue-model實(shí)現(xiàn)簡(jiǎn)易計(jì)算器

    vue-model實(shí)現(xiàn)簡(jiǎn)易計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了vue-model實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Vue?socket.io模塊實(shí)現(xiàn)聊天室流程詳解

    Vue?socket.io模塊實(shí)現(xiàn)聊天室流程詳解

    vue-socket.io其實(shí)是在socket.io-client(在瀏覽器和服務(wù)器之間實(shí)現(xiàn)實(shí)時(shí)、雙向和基于事件的通信)基礎(chǔ)上做了一層封裝,將socket掛載到vue實(shí)例上,同時(shí)可使用sockets對(duì)象輕松實(shí)現(xiàn)組件化的事件監(jiān)聽,在vue項(xiàng)目中使用起來更方便
    2022-12-12
  • Vue實(shí)現(xiàn)文本展開收起功能

    Vue實(shí)現(xiàn)文本展開收起功能

    這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)文本展開收起功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue中$set的使用(結(jié)合在實(shí)際應(yīng)用中遇到的坑)

    vue中$set的使用(結(jié)合在實(shí)際應(yīng)用中遇到的坑)

    這篇文章主要介紹了vue中$set的使用(結(jié)合在實(shí)際應(yīng)用中遇到的坑),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 如何在Vue項(xiàng)目中使用vuex

    如何在Vue項(xiàng)目中使用vuex

    這篇文章主要介紹了如何在Vue項(xiàng)目中使用vuex問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue 配置多頁面應(yīng)用的示例代碼

    vue 配置多頁面應(yīng)用的示例代碼

    這篇文章主要介紹了vue 配置多頁面應(yīng)用的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-10-10
  • 利用Vue.js制作一個(gè)拼圖華容道小游戲

    利用Vue.js制作一個(gè)拼圖華容道小游戲

    這篇文章主要為大家詳細(xì)介紹了如何利用Vue.js編寫一個(gè)拼圖華容道游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue中mapbox地圖顯示一半的問題及解決方法

    vue中mapbox地圖顯示一半的問題及解決方法

    在vue中創(chuàng)建mapbox地圖,地圖只顯示一般,查看瀏覽器開發(fā)者工具,發(fā)現(xiàn)將canvas.mapboxgl-canvas 的position:absolute去掉就解決了,今天小編通過本文給大家分享詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2023-07-07
  • vue3引入Element-plus的詳細(xì)步驟記錄

    vue3引入Element-plus的詳細(xì)步驟記錄

    Element Plus是為適配Vue3而對(duì)Element UI進(jìn)行重構(gòu)后產(chǎn)生的前端組件庫,包含豐富的基礎(chǔ)組件,下面這篇文章主要給大家介紹了關(guān)于vue3引入Element-plus的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評(píng)論