zoukankan      html  css  js  c++  java
  • vue(七)--监听属性(watch)

    1.watch:用来监听每一个属性的变化
    2.watch这个对象里面都是函数,函数的名称是data中的属性名称,watch中的函数不需要调用
    3.当属性发生改变那么就会触发watch函数,每个函数都会接受两个值,一个是新值,一个是旧值
    4.我们可以在watch当中就行新旧值的判断来减少虚拟dom的渲染
    eg:
    watch:{
        a(newVal,oldVal){
        if(newVal != oldVal){
            this.sum = newVal+this.b;
        }
        console.log("a发生了改变",newVal,oldVal)
    }
    5.只要是当前的属性值发生改变就会触发它所对应的函数
    6.如果我们需要对对象进行监听的时候需要将属性值设置为key值,val值为一个对象,对象中有两个参数是必填,一个是handler函数,一个是deep为true,这样才能实现深度监听
    eg:
    obj:{
        handler(newVal){
        console.log("obj发生了改变",newVal)
        },
        deep:true
    }
     
    demo:
     <div id = "computed_props">
             千米 : <input type = "text" v-model = "kilometers">
             米 : <input type = "text" v-model = "meters">
          </div>
           <p id="info"></p>
          <script type = "text/javascript">
             var vm = new Vue({
                el: '#computed_props',
                data: {
                   kilometers : 0,
                   meters:0
                },
                methods: {
                },
                computed :{
                },
                watch : {
                   kilometers:function(val) {
                      this.kilometers = val;
                      this.meters = this.kilometers * 1000
                   },
                   meters : function (val) {
                      this.kilometers = val/ 1000;
                      this.meters = val;
                   }
                }
             });</script>

  • 相关阅读:
    有nativeQuery = true和没有的区别
    itext隐藏table的单元格边框
    Semaphore (参考资料,还没细看)
    STL 一级/二级空间配置器
    内联函数
    死锁
    用户态和内核态
    关于变量的可见性和生命周期
    主从库原理
    xx亿数据处理
  • 原文地址:https://www.cnblogs.com/firebet/p/13466155.html
Copyright © 2011-2022 走看看