需求:object.array[index] = value
时调用 setter
给你提供个思路。如果你用过vue就会知道,vue2里面因为要兼容ie9+,数组get和set拦截用的是重写数组原型方法的方式,对索引的操作用的是Vue.set( target, index, value ),底层实现是数组的splice操作。vue3数组直接用proxy就可以实现数据的get,set拦截,只是兼容性不好吧了。 看兼容性,你选择那种吧。
var _value = undefined;
Object.definedPropery(object.array, index, {
set(value) {
_value = value;
// do something
},
get() {
return _value;
}
})
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
利用
Proxy
: