Vue中深度watch某个对象时,怎么忽略某个指定的属性的变动侦测?

data() {
    return {
        obj: {
            name: '',
            age: 20,
            // 这里还有十几个属性
        }
    }
},
watch: {
    obj: {
        deep: true,
        handler() {
            // 如何忽略name的变化,只监听其他属性的变化
        }
    }
}
阅读 5.7k
1 个回答
mounted() {
    const handler = () => console.log(this.obj);
    Object.keys(this.obj)
      .filter(_ => !["name"].includes(_))
      .forEach(_ => {
        this.$watch(vm => vm.obj[_], handler, {
          deep: true
        });
      });
  }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题