vue.js - 在 vue 中如何监听 getters 中某个值的变化

查看:1072
本文介绍了vue.js - 在 vue 中如何监听 getters 中某个值的变化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

computed: {
    ...mapGetters([
      'token'
    ]),
  },
  watch: {
    token: function (val, oldVal) {
      console.log(val);
      console.log(oldVal);
    }
  },

如上面代码,我在 getters 定义了 token 这个值,我想去监听这个值的变化,在 watch 中这样写,却不管用,方法没有调用,请问是为什么?

解决方案

watch没错
建议检查下你的token是什么类型,如果是Object的话,它的属性改变,仅用上面的方法是监听不到的,需要深度watch,如:

watch: {
    // 深度 watcher
    c: {
      handler: function (val, oldVal) { /* ... */ },
      deep: true
    }
  }

如果不是Object类型的话,建议再检查下代码,或多贴点代码,这样比较容易定位问题。

这篇关于vue.js - 在 vue 中如何监听 getters 中某个值的变化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆