前提條件:乙個變數如果滿足某種規則,則在這個滿足條件下面進行變數的賦值操作,如果這個規則不存在,則變數置為空,
問題:watch第一次監聽的時候因為滿足規則,進行操作之後變數再次賦值,說明變數的值有了第二次改變,則會再次觸發watch監聽這個變數,因為再次觸發時不會再滿足規則,所以變數自動執行else語句,變數置為空,但是變數的值應該是第一次執行watch監聽的時候滿足規則之後被賦於的值
題外話:請教大佬之後明白自己一直沒想通的是,watch監聽變數只是在值改變的時候監聽,而我以為的是watch會不間斷的監聽變數值,理解誤差(還是自己小白)
解決方案:watch監聽沒有問題,但是滿足的規則條件不對,因為變數會改變兩次,但是我只有乙個判斷條件,所以條件不完全導致判斷失誤,故自定義乙個變數作為判斷條件
我在data中定義了nums2,nums2的值為1,當watch第一次監聽變數時滿足判斷條件進行賦值,此時nums2的值改變為2,故watch進行第二次判斷時,執行最後乙個判斷條件,將nums2的值復為原值1,此時watch執行完畢不在執行,得到想要的變數值且定義的nums2恢復原值,下次判斷依舊按照此次步驟進行
watch 深度監聽
doctype html en utf 8 viewport content width device width,initial scale 1.0 x ua compatible content ie edge document title script head text v model na...
vue監聽watch的過程
vue提供了watch來監聽雙向繫結過程中data的變化。watch 監聽某個值 雙向繫結 的變化,一旦發生變化,就呼叫引號裡的方法,從而達到change事件監聽的效果!如果只是監聽obj內的乙個屬性變化,可以直接使用obj.key進行監聽。watch 如果對整個obj深層監聽,就會用到deep w...
vue的watch監聽函式
在vue中,使用watch來響應資料的變化。watch的用法大致有三種。下面 是watch的一種簡單的用法 1.new vue methods watch 也可以直接寫乙個監聽處理函式,當每次監聽到 cityname 值發生改變時,執行函式。也可以在所監聽的資料後面直接加字串形式的方法名 watch...