响应式与双向绑定

先新建一个observer函数

里面判断要观察的数据类型是否为obj还是obj

如果是obj那么就通过for遍历对象

新建一个defineReactive函数

每次遍历把obj对象本身 ,对象内属性到的的键key、值val传进defineReactive函数内 Object.defineProperty()内

 Object.defineProperty()内再判断一次这里获得的值 重新调用observer(val) 判断val是否为基本数据类型,如过是obj则调用defineReactive进行递归绑定

 Object.defineProperty()有一个set方法和get方法,

每当访问数据都会触发set方法

每次修改属性都会触发get方法 get(newVal)会传入新值

利用这个值进行视图更新即可以

 

如果实现数据双向绑定  那么可以利用input事件

posted @ 2022-02-08 15:33  ๑Secret  阅读(50)  评论(0编辑  收藏  举报