中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在vue.js中實現淺度監聽和深度監聽

發布時間:2021-05-26 09:39:54 來源:億速云 閱讀:234 作者:Leah 欄目:web開發

怎么在vue.js中實現淺度監聽和深度監聽?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

第一個淺度監聽:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" src="js/vue.js"></script>
 </head>
 <body>
 <div id="app">
  <p>{{a}}</p>
  <p>{{b}}</p>
 </div>
 <script>
  
 var vm=new Vue({
  el:"#app",
  data:{
   a:10,
   b:15
  }
 });
 vm.$watch("a",function(){
  alert('a變化了');
  this.b=100;
 });
 document.onclick=function(){
  vm.a=2
 }
 </script>
 </body>
</html>

第二個深度監聽

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <script type="text/javascript" src="js/vue.js"></script>
 </head>
 <body>
 <div id="app">
  <p>{{a|json}}</p>
  <p>{{b}}</p>
 </div>
 <script>
  var vm = new Vue({
  el: "#app",
  data: {
   a: { id: "1", title: "width" },
   b: 15
  }
  });
  vm.$watch("a", function() {
  alert('a變化了');
  this.b = 100;
  }, { deep: true });
  document.onclick = function() {
  vm.a.id = "2";
  }
 </script>
 </body>
</html>

ps:下面看下vue中watch用法

對應一個對象,鍵是觀察表達式,值是對應回調。值也可以是方法名,或者是對象,包含選項。在實例化時為每個鍵調用 $watch() ;

//使用官方vue-cli腳手架書寫
<template>
  //觀察數據為字符串或數組
   <input v-model="example0"/>
   <input v-model="example1"/>
  /當單觀察數據examples2為對象時,如果鍵值發生變化,為了監聽到數據變化,需要添加deep:true參數
   <input v-model="example2.inner0"/>
</template>
<script>
   export default {
      data(){
        return {
          example0:"",
          example1:"",
          example2:{
            inner0:1,
            innner1:2
          }
        }
      },
      watch:{
        example0(curVal,oldVal){
          console.log(curVal,oldVal);
        },
        example1:'a',//值可以為methods的方法名
        example2:{
         //注意:當觀察的數據為對象或數組時,curVal和oldVal是相等的,因為這兩個形參指向的是同一個數據對象
          handler(curVal,oldVal){
            conosle.log(curVal,oldVal)
          },
          deep:true
        }
      },
      methods:{
        a(curVal,oldVal){
          conosle.log(curVal,oldVal)
        }
      }
  }
</script>

關于怎么在vue.js中實現淺度監聽和深度監聽問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉水县| 崇阳县| 姚安县| 镇宁| 苏州市| 资兴市| 莱州市| 江陵县| 东阳市| 大港区| 昌吉市| 瑞昌市| 石景山区| 新邵县| 高尔夫| 普定县| 锡林郭勒盟| 双流县| 巢湖市| 南溪县| 黄陵县| 吴桥县| 南通市| 沈阳市| 岢岚县| 和静县| 万山特区| 长沙县| 柘城县| 新昌县| 古田县| 外汇| 平罗县| 章丘市| 吴桥县| 澎湖县| 夏邑县| 阳高县| 湘乡市| 阿合奇县| 双牌县|