zoukankan      html  css  js  c++  java
  • vue2之对象属性的监听

    对象属性监听的两种方法:

    1.普通的watch

     1 data() {
     2     return {
     3         frontPoints: 0    
     4     }
     5 },
     6 watch: {
     7     frontPoints(newValue, oldValue) {
     8         console.log(newValue)
     9     }
    10 }

    2.对象属性的watch

     1 data() {
     2   return {
     3     bet: {
     4       pokerState: 53,
     5       pokerHistory: 'local'
     6     }   
     7     }
     8 },
     9 watch: {
    10   bet: {
    11     handler(newValue, oldValue) {
    12       console.log(newValue)
    13     },
    14     deep: true
    15   }
    16 }

    tips: 只要bet中的属性发生变化(可被监测到的),便会执行handler函数;
    如果想监测具体的属性变化,如pokerHistory变化时,才执行handler函数,则可以利用计算属性computed做中间层。
    事例如下:

    3.对象具体属性的watch

     1 data() {
     2   return {
     3     bet: {
     4       pokerState: 53,
     5       pokerHistory: 'local'
     6     }   
     7     }
     8 },
     9 computed: {
    10   pokerHistory() {
    11     return this.bet.pokerHistory
    12   }
    13 },
    14 watch: {
    15   pokerHistory(newValue, oldValue) {
    16     console.log(newValue)
    17   }
    18 }

    对象具体属性的watch可以直接用引号把属性括起来,就可以实现对象中特定属性的监听事件:

     1 data() {
     2   return {
     3     bet: {
     4       pokerState: 53,
     5       pokerHistory: 'local'
     6     }   
     7     }
     8 },
     9 watch: {
    10   'bet.pokerHistory'(newValue, oldValue) {
    11     console.log(newValue)
    12   }
    13 }
  • 相关阅读:
    Video视频播放中断问题排查记录
    下一站:手机安全
    数据之美 之一
    数据之美 之二
    数据之美 之三
    Groovy入门
    Java8新特性(Lambda表达式、Stream流、Optional类)等
    websocket和ajax的区别(和http的区别)
    java泛型<? extends E>和<? super E>的区别和适用场景
    JAVA反射
  • 原文地址:https://www.cnblogs.com/lgjava/p/12753462.html
Copyright © 2011-2022 走看看