watch监听一个对象时,如何排除某些属性的监听
作者:互联网
data() { return { params: { a: 1, b: 2, c: 3, d: 4 }, }; }, watch: { params: { deep: true, handler() { this.getList; }, }, }
但是如果我只想要a,b改变时重新请求,c,d改变时不重新请求呢?
mounted() { Object.keys(this.params) .filter((_) => !["c", "d"].includes(_)) // 排除对c,d属性的监听 .forEach((_) => { this.$watch((vm) => vm.params[_], handler, { deep: true, }); }); }, data() { return { params: { a: 1, b: 2, c: 3, d: 4 }, }; }, watch: { params: { deep: true, handler() { this.getList; }, }, }
标签:watch,deep,handler,params,true,监听,属性 来源: https://www.cnblogs.com/webljl/p/16489637.html