美文网首页
监视属性watch

监视属性watch

作者: 冰点雨 | 来源:发表于2022-03-10 16:04 被阅读0次

监测属性

1.当被监测的属性变化时,回调函数会自动调用,进行相关操作 2.监视的属性必须存在,才能进行监视!!! 3.监视的两种写法 (1)new Value时传入watch配置 (2)通过vm.$watch监视

页面

 <!-- 绑定事件的时候:@xxx = "yyy" yyy可以写一些简单的语句 -->-
<button @click = "isHot = !isHot">切换天气</button>
 <button @click = "changeWeather">切换天气</button>

实现

 const vm = new Vue({
                 el:"#root",
                 data:{
                     isHot:true
                 },
                 computed:{
                     info(){
                         return this.isHot ? '炎热' : '凉爽'
                     }
                 },
                 methods: {
                    changeWeather(){
                       this.isHot = !this.isHot
                    }
                 },
            })
            vm.$watch('isHot',{
                immediate:true,//初始化时让handler调用一次
                      //handler什么时候调用?当isHot发生改变时
                      handler(newValue,oldValue){

                      }
            })

深度监视

(1)Vue中的watch默认不监测对象内部值的改变(一层) (2)配置deep:true可以监测对象内部值的改变(多层) 备注: (1)Vue自身可以监测对象内部值的改变,但Vue提供的watch默认不可以 (2)使用watch时根据数据的具体结构,决定是否采用深度监视
deep:true监视多级结构中所以属性的变化

页面

 <div id="root">
           <h2>今天天气很{{info}}</h2>
           <button @click = "changeWeather">切换天气</button>
           <hr/>
           <h2>a的值是{{numbers.a}}</h2>
           <button @click = "numbers.a++">点我让a+1</button>
           <hr/>
           <h2>b的值是{{numbers.b}}</h2>
           <button @click = "numbers.b++">点我让b+1</button>
         </div>

实现

 const vm = new Vue({
                 el:"#root",
                 data:{
                     isHot:true,
                     numbers:{
                         a:1,
                         b:1
                     }
                 },
                 computed:{
                     info(){
                         return this.isHot ? '炎热' : '凉爽'
                     }
                 },
                 methods: {
                    changeWeather(){
                       this.isHot = !this.isHot
                    }
                 },
                watch:{
                  isHot:{
                      immediate:true,//初始化时让handler调用一次
                      handler(newValue,oldValue){
                      }
                  },
                  //监视多级结构中某个属性的变化
                  /*
                  'numbers.a':{
                      handler(){
                      }
                  }*/
                  //监视多级结构中所以属性的变化
                  numbers:{
                      deep:true,
                      handler(){
                      }
                  }
                }
            })

监视属性_简写

页面

 <h2>今天天气很{{info}}</h2>
           <button @click = "changeWeather">切换天气</button>

实现

 watch:{
         //正常写法
           isHot:{
                    //   immediate:true,//初始化时让handler调用一次
                    //   deep:true,//深度监视
                handler(newValue,oldValue){ }
                  },

                   //简写
                   isHot:{
                      handler(newValue,oldValue){
                    }
                }
 //正常写法
 vm.$watch('isHot',{
      immediate:true,//初始化时让handler调用一次
          handler(newValue,oldValue){
     }
 }

 //简写
vm.$watch('isHot',function(newValue,oldValue){
     console.log(newValue,oldValue)
 })

相关文章

  • 监视属性watch

    监测属性 1.当被监测的属性变化时,回调函数会自动调用,进行相关操作 2.监视的属性必须存在,才能进行监视!!! ...

  • 监视属性—watch

    当被监视的属性变化时,回调函数自动调用,进行相关操作 监视的属性必须存在,才能进行监视 监视的两种不同写法(请看 ...

  • Vue监视属性

    一、监视属性watch 1、当被监视的属性变化时,回调函数(handler)自动调用,进行相关操作2、监视的属性必...

  • vue学习(13)监视属性

    知识点 1:watch监视属性(1)当被监视的属性发生变化时,回调函数自动调用,进行相关操作。(2)监视的属性必须...

  • 侦听属性watch 、watch与computed的区别

    监视属性watch: 1、当被监视的属性发生变化时,回调函数自动调用,进行相关操作 2...

  • vue笔记-20(watch监听)

    watch监听使用vm的watch属性,可以监视data中指定数据的变化,然后出发这个watch中对应的funct...

  • vue学习(60)watchEffect

    知识点 watch的套路是:既要指明监视的属性,也要指明监视的回调。- - - watchEffect的套路是:不...

  • vue监听和webpack基本使用

    vue监听 使用keyup监听 使用watch监听文本框变化,watch 使用这个属性可以监视data中的数据变化...

  • Vue中的监听事件的属性

    监听事件 keyup watch属性,可以监视data中指定数据的变化,然后触发这个watch中对应的functi...

  • day05-vuejs中watch、computed和metho

    1.watch属性的使用: 1.1监听data中属性的改变: 使用这个 属性,可以监视 data 中指定数据的变化...

网友评论

      本文标题:监视属性watch

      本文链接:https://www.haomeiwen.com/subject/iadtdrtx.html