题解 | #双向绑定#
双向绑定
https://www.nowcoder.com/practice/d1452ec52a134b328f23b97c02b230bd
// 补全代码 Object.keys(person).forEach((key) => { // 在Object.defineProperty外获取当前key的value,防止内部获取造成无限迭代 let oldValue = person[key]; // 为每一个key绑定get set Object.defineProperty(person, key, { configurable: true, get() { //获取person的key属性时,直接返回oldValue,不知使用person[key] return oldValue; }, set(newValue) { //更改当前key的value值时,把旧值替换,再重新渲染页面 oldValue = newValue; _render(ul); }, }); }); // input框发生修改时触发,把value转换为数字 inp.oninput = function () { person.weight = +inp.value; };