有没有一种方法可以监听 JavaScript 类中的属性调用?
例如,当我执行类似以下代码时:
myForm = new Form();
myForm.name = 'Name';
当我设置名称时,我不仅想设置属性,还想更新我的Vuex存储。对于get
也是同样的情况,我想从Vuex存储中读取。
我知道有像Proxy这样的东西,但对于这个我需要用一个Proxy对象包装我的类。不太确定我是否喜欢这种方法。
module.exports = new Proxy(new Form({}), {
get (receiver, name) {
console.log('getting property from Vuex Store');
}
});
我需要的是像这样的东西:module.exports = class Form {
//this should be triggered when form.something
get(property) {
return this[property];
}
//this should be triggered when from.something = 'something'
set(property, value) {
return this[property] = value;
}
};
这个有最佳实践吗?