/**
* 监听数据的变化
* @param obj 需要监听的对象
* @param name 需要监听的属性
* @param func 数据变化后的回调函数
*/
export const watch = (obj: Obj, name: string, func: (value: any) => void) => {
Object.defineProperty(obj, name, {
get: function() {
return obj;
},
set: newValue => {
func && func(newValue);
},
});
};
使用例子:
const obj = {
name: 123
};
watch(obj, 'name', newValue => {
console.log('name 被改变了')
});
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。