当前位置:主页 > vue.js教程 > 详解Vue中watch对象内属性的方法

Vue中watch对象内属性知识点分析

发布:2020-01-16 22:22:53 158


本站精选了一篇Vue对象相关的编程文章,网友林若蕊根据主题投稿了本篇教程内容,涉及到Vue、watch、对象内属性、详解Vue中watch对象内属性的方法相关内容,已被875网友关注,相关难点技巧可以阅读下方的电子资料。

详解Vue中watch对象内属性的方法

vue提供了watch方法,用于监听实例内data数据的变化。通常写法是:

new Vue({
 data: {
  count: 10,
  blog:{
    title:'my-blog',
    categories:[]
  }
 },
 watch: {
  count: function (newval, oldVal) {
   console.log(`new: %s, old: %s`, newVal, oldVal);
  }
 }
})

上述情况里data中的count属性可以直接监听,但是如果需要监听的数据是对象内的某一属性值的变化,直接watch对象blog是检测不到变化的,这是因为blog这个对象的指向并没有发生改变。有几个解决方法

1.深度监测

new Vue({
 data: {
  count: 10,
  blog:{
    title:'my-blog',
    categories:[]
  }
 },
 watch: {
  blog:{
    handler(newVal,oldVal){
      console.log(`new: ${newVal}, old: ${oldVal}`);
    },
    deep:true
  }
 }
})

里面的deep设为了true,这样的话,如果修改了这个blog中的任何一个属性,都会执行handler这个方法。不过这样会造成更多的性能开销,尤其是对象里面属性过多,结构嵌套过深的时候。而且有时候我们就只想关心这个对象中的某个特定属性,这个时候可以这样

2.用字符串来表示对象的属性调用

new Vue({
 data: {
  count: 10,
  blog:{
    title:'my-blog',
    categories:[]
  }
 },
 watch: {
  'blog.categories'(newVal, oldVal) {
    console.log(`new:${newVal}, old:${oldVal}`);
  }, 
 }
})

3.使用computed计算属性

new Vue({
 data: {
  count: 10,
  blog:{
    title:'my-blog',
    categories:[]
  }
 },
 computed: {
  categories() {
   return this.blog.categories;
  }
 },
 watch: {
  categories(newVal, oldVal) {
   console.log(`new:${newVal}, old:${oldVal}`);
  }, 
 },
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。


参考资料

相关文章

  • vue.js使用(...)运算符报错的处理解决实例

    发布:2019-11-14

    这篇文章主要介绍了vue.js 中使用(...)运算符报错的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • vue在nginx下页面刷新出现404问题解决方案

    发布:2020-02-29

    这篇文章主要介绍了vue下使用nginx刷新页面404的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


  • vue中post请求以a=a&b=b的格式问题整理

    发布:2019-11-12

    这篇文章主要介绍了vue中post请求以a=ab=b 的格式写遇到的问题,需要的朋友可以参考下


  • 关于vue.js评论发布信息可插入QQ表情功能介绍

    发布:2020-01-13

    这篇文章主要为大家详细介绍了vue.js评论发布信息可插入QQ表情功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • vue2.0 自定义 饼状图 (Echarts)组件的方法

    vue2.0 自定义 饼状图 (Echarts)组件的方法

    发布:2022-06-22

    给网友朋友们带来一篇关于vue的教程,下面小编就为大家分享一篇vue2.0 自定义 饼状图 (Echarts)组件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • vue、react等单页面项目应该这样子部署到服务器

    发布:2020-07-16

    这篇文章主要介绍了vue、react等单页面项目应该这样子部署到服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 详解用vscode开发vue应用

    发布:2020-01-27

    这篇文章主要介绍了用vscode开发vue应用的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • vue如何实现自定义底部菜单栏

    vue如何实现自定义底部菜单栏

    发布:2022-06-23

    给网友朋友们带来一篇关于vue的教程,这篇文章主要介绍了vue如何实现自定义底部菜单栏,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


网友讨论