Vue.js中watch監視屬性知識點的示例分析

這篇文章主要介紹Vue.js中watch監視屬性知識點的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

成都創新互聯公司主要從事做網站、成都做網站、網頁設計、企業做網站、公司建網站等業務。立足成都服務喀喇沁,10余年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220

這個屬性用來監視某個數據的變化,并觸發相應的回調函數執行

1.基本用法

(1)添加watch屬性,值為一個對象。對象的屬性名就是要監視的數據,屬性值為回調函數,每當這個屬性名對應的值發生變化,就會觸發該回調函數執行

(2)回調函數有2個參數:

newVal:數據發生改變后的值

oldVal:數據發生改變前的值

var vm = new Vue({
  el:'#app',
  data: {
    name: '郭靖'
  },
  watch: {
    name(newVal,oldVal){
      console.log('name的值發生了變化')
      console.log(newVal,oldVal)
    }
  }
})

vm.name = "郭大俠" // 執行這行代碼,會觸發對應的回調函數

執行結果:

name的值發生了變化
郭大俠 郭靖

2.監聽對象內部屬性的變化

前面的例子只是監聽data中的第一層數據,如果要監聽多層次的數據,例如a.b.c,則屬性名需要用引號包裹起來

<body>
  <div id="app">
    <p>{{name}}</p>
    <button @click="test">修改wife.name</button>
    <button @click="test2">修改wife</button>
  </div>
</body>
<script>
  var vm = new Vue({
    el:'#app',
    data: {
      name: '郭靖',
      age: 20,
      wife: {
        name: '黃蓉',
        sex: '女'
      }
    },
    watch: {
      //監聽wife中的name屬性
      'wife.name'(newVal,oldVal){
        console.log('wife.name發生了改變')
      },
      //監聽wife
      'wife'(newVal,oldVal){
        console.log('wife發生了改變')
      }
    },
    methods:{
      test(){
        this.wife.name = "'黃幫主'"
      },
      test2(){
        this.wife = {name:'我不是黃蓉',sex:'women'}
      }
    }
  })
</script>

運行結果表明,無論是他父級對象的值發生了改變,還是它本身的值發生了改變,都會使這個監視屬性的回調函數執行。

Vue.js中watch監視屬性知識點的示例分析

3.監聽路由變化

提示:路由的路徑信息保存在$route.path中

watch:{
 '$route.path':function(newval){
  console.log('change')
 }
}

4.深度監聽

監視屬性只能監聽到當前對象值的變化,而對象內部的屬性變化不會監聽到,前面我們監聽了wife和wife.name,修改了wife.name并不會觸發監聽wife的回調函數。

想要監聽對象內部的屬性值變化,需要進行相應的配置。

  • deep:深度監聽,默認false

  • handler:回調函數

  • immediate:頁面初始化時是否觸發回調,默認false

var vm = new Vue({
  el:'#app',
  data: {
    name: '郭靖',
    age: 20,
    wife: {
      name: '黃蓉',
      sex: '女'
    }
  },
  watch: {
    wife:{
      deep:true,
      handler:function(newVal,oldVal){
        console.log('value is change')
      },
      immediate:true
    }
  }
})

vm.wife.name = '黃幫主' // 觸發wife屬性對應的回調

以上是“Vue.js中watch監視屬性知識點的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!

網站標題:Vue.js中watch監視屬性知識點的示例分析
文章來源:http://m.kartarina.com/article46/jeceeg.html

成都網站建設公司_創新互聯,為您提供網站建設網頁設計公司微信公眾號網站改版外貿網站建設微信小程序

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 天码av无码一区二区三区四区 | 国产精品无码专区AV在线播放| 日韩乱码人妻无码系列中文字幕| 亚洲AV无码国产精品色午友在线 | 国产99久久九九精品无码| 暴力强奷在线播放无码| 水蜜桃av无码一区二区| 国产精品99无码一区二区| 精品国产v无码大片在线观看 | 亚洲日韩精品一区二区三区无码| 精品人无码一区二区三区| 日日摸夜夜爽无码毛片精选| 高清无码午夜福利在线观看 | 无码中文字幕乱在线观看 | 国产三级无码内射在线看| 亚洲天然素人无码专区| 亚洲av中文无码乱人伦在线咪咕| 午夜寂寞视频无码专区| 无码乱码av天堂一区二区| 亚洲AV区无码字幕中文色| heyzo高无码国产精品| 亚洲综合最新无码专区| 精品久久久久久中文字幕无码 | 天堂无码久久综合东京热 | 日韩人妻无码精品久久免费一| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲精品久久久久无码AV片软件| 精品无码久久久久国产| 无码人妻精品一区二区三区东京热 | 亚洲AV无码久久久久网站蜜桃| 本免费AV无码专区一区| 人妻丰满?V无码久久不卡| 嫩草影院无码av| 国产精品99久久久精品无码| 午夜成人无码福利免费视频| 亚洲 无码 在线 专区| 少妇性饥渴无码A区免费| 亚洲中文字幕无码一区二区三区 | 亚洲Av无码乱码在线znlu| 无码的免费不卡毛片视频| 乱人伦人妻中文字幕无码久久网|