美文网首页
vue_监听父组件绑定属性值变更

vue_监听父组件绑定属性值变更

作者: 古佛青灯度流年 | 来源:发表于2020-10-18 23:11 被阅读0次

一、handler方法和immdiate属性

watch默认绑定,页面首次加载时,是不会执行的。只有值发生改变才会执行。

如果想立即执行怎么办?

watch:{
     name:{
       handler(newName,oldName){
           //执行代码
       },
       immediate:true //true就表示会立即执行
     }
 }

二、deep属性

如果是监听的是对象类型,当手动修改对象的某个属性时,发现是无效的。

这时候就需要deep属性。

data:{
    obj:{
      a:1
    }
},
watch:{
    obj:{
      handler(newName,oldName){
          //执行代码
      },
      deep:true //为true,表示深度监听,这时候就能监测到a值变化
    }
}

deep为true,就可以监测到对象中每个属性的变化。
它会一层层遍历,给这个对象的所有属性都加上这个监听器。但是这样性能开销会比较大,修改任何一个属性,都会出发这个监听器里的handler.

三、deep优化

可以使用字符串形式监听

data:{
    obj:{
      a:1
    }
},
watch:{
    'obj.a':{
      handler(newName,oldName){
          //执行代码
      },
      deep:true //为true,表示深度监听,这时候就能监测到a值变化
    }
}

这样vue就会一层层解析,知道遇到属性a,然后才给a设置监听函数。

相关文章

  • vue_监听父组件绑定属性值变更

    一、handler方法和immdiate属性 watch默认绑定,页面首次加载时,是不会执行的。只有值发生改变才会...

  • Vue sync实现 子组件属性与父组件变量双向绑定

    Vue sync实现 子组件属性与父组件变量双向绑定 父子组件双向绑定语法 父组件可以监听update:title...

  • Vue组件--动态传值

    父组件-->子组件:通过属性props传值 子组件中定义属性 父组件中绑定此属性(子组件...

  • uniapp-组件通讯

    1.父传子 prop 属性绑定, 子组件通过prop属性childrenData可以接受到父组件中绑定的值:chi...

  • Vuex的使用总结

    一、组件之间共享数据的方式 ① 父组件向子组件传值:v-bind 属性绑定。② 子组件向父组件传值:v-on 属性...

  • 【Vue】父子、兄弟及不相干组件通信

    普通组件:父向子传值:v-bind属性绑定子向父传值:v-on事件绑定 自定义组件: 父组件向子组件传输数据[pr...

  • 04vue2.0-Vue组件化-组件间的数据传递

    Vue组件之间传值 父组件向子组件传值 1.父组件向子组件传值 父组件发送的形式是以属性的形式绑定值到子组件身上。...

  • Vue组件通信

    1) 父组件给子组件传值 利用Vue的组件机制,父亲组件通过 v-bind指令给子组件绑定一个属性,属性值为父组件...

  • Vue组件之间传值

    父组件向子组件传值 父组件发送的形式是以属性的形式绑定值到子组件身上。 然后子组件用属性props接收 在prop...

  • Vue CLI——组件间传值

    一、父子组件传值 1、父传子 (1)props 父组件向子组件传值,可以通过绑定属性传值;子组件通过props接收...

网友评论

      本文标题:vue_监听父组件绑定属性值变更

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