zoukankan      html  css  js  c++  java
  • vue 实战问题-watch 数组或者对象

    1、普通的watch

    复制代码
    data() {
        return {
            frontPoints: 0    
        }
    },
    watch: {
        frontPoints(newValue, oldValue) {
            console.log(newValue)
        }
    }
    复制代码

    2、数组的watch

    复制代码
    data() {
        return {
            winChips: new Array(11).fill(0)   
        }
    },
    watch: {
      winChips: {
        handler(newValue, oldValue) {
          for (let i = 0; i < newValue.length; i++) {
            if (oldValue[i] != newValue[i]) {
              console.log(newValue)
            }
          }
        },
        deep: true
      }
    }
    复制代码

    3、对象的watch

    复制代码
    data() {
      return {
        bet: {
          pokerState: 53,
          pokerHistory: 'local'
        } } }, watch: {   bet: {
        handler(newValue, oldValue) {
          console.log(newValue)
        },
        deep: true
      }
    }
    复制代码
    tips: 只要bet中的属性发生变化(可被监测到的),便会执行handler函数;
    如果想监测具体的属性变化,如pokerHistory变化时,才执行handler函数,则可以利用计算属性computed做中间层。
    事例如下:

     4、对象具体属性的watch[活用computed]

    复制代码
    data() {
      return {
        bet: {
          pokerState: 53,
          pokerHistory: 'local'
        } } },
    computed: {
      pokerHistory() {
        return this.bet.pokerHistory
      }
    }, watch: {   pokerHistory(newValue, oldValue) {
        console.log(newValue)
      }
    }
    复制代码
  • 相关阅读:
    助教观察记录5(10/21-11/3)
    助教观察记录4(10/07-10/20)
    助教观察记录3(9/23-10/06)
    助教观察记录1(9/5-9/15)
    2019年春季学期《C语言程序设计II》课程总结
    2020软件工程个人作业06——软件工程实践总结作业
    软件工程第二次作业
    2020软件工程作业3
    2020软件工程作业01
    神必高考数学题乱写
  • 原文地址:https://www.cnblogs.com/Tohold/p/9072932.html
Copyright © 2011-2022 走看看