zoukankan      html  css  js  c++  java
  • vue watch监听对象及对应值的变化

    data:{
        a:1,
        b:{
         value:1,
       type:1,
    
        }
    },
    watch:{
         a(val, oldVal){//普通的watch监听
             console.log("a: "+val, oldVal);
         },
         b:{//深度监听,可监听到对象、数组的变化
               handler(val, oldVal){
                  console.log("b.value: "+val.value, oldVal.value);//但是这两个值打印出来却都是一样的
              },
         deep:true
         }
    }

    如果只想监听b中的value,怎么办

    方法一:

    watch:{
         a(val, oldVal){//普通的watch监听
             console.log("a: "+val, oldVal);
         },
         'b.value':{//深度监听,可监听到对象、数组的变化
               handler(val, oldVal){
                  console.log("b.value: "+val.value, oldVal.value);//但是这两个值打印出来却都是一样的
              },
         deep:true
         }
    }

    方法二,借助computed

    computed: {
        newNum: function () {
          return this.b.value
        }
      }
    watch:{
        newNum:{
          handler(val, oldVal){
             console.log(oldVal);
          },
          deep:true
        }
    }
  • 相关阅读:
    Xcode And iOS9新特性
    AutoLayout
    本地化
    Map
    iOS多线程编程
    第三方抽屉效果
    iPad编程
    CoreData / MagicalRecord
    js清除单选框所选的值
    js获取背景颜色
  • 原文地址:https://www.cnblogs.com/wanf/p/9184652.html
Copyright © 2011-2022 走看看