文章博客

技术团队文档示例


实现一个极简的数据响应式

<h5>实现一个极简的数据响应式</h5> <h5>题目描述</h5> <pre><code>// 有一个全局变量 a,有一个全局函数 b,实现一个方法bindData,执行后,a中任何属性值修改都会触发b的执行。 const a = { b: 1 }; function b() { console.log("a的值发生改变"); } bindData(); // 此时输出 a的值发生改变 a.b = 2; console.log(a.b); </code></pre> <pre><code>function bindData(){ Object.keys(a).map(key =&gt; { let v = a[key]; Object.defineProperty(a,key,{ get(){ return v; } set(newVal){ if(v !== newVal){ b(); v = newVal } } }) }) }</code></pre>

页面列表

ITEM_HTML