题解 | #双向绑定#

双向绑定

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;
      };

全部评论

相关推荐

头像
昨天 23:54
已编辑
门头沟学院 化工与制药类
点赞 评论 收藏
转发
3 收藏 评论
分享
牛客网
牛客企业服务