Skip to content

Conversation

@liuweitao111
Copy link
Contributor

将对象中的属性和方法分开: 1、在Observable类中将对象的属性变得可观察,即使用defineProperty设置属性的get和set方法,返回一个新的对象。2、Watcher类会调用原对象的方法为新对象创建一个与方法同名的属性,同时会为方法访问到的属性的setter()上加上对应的回调函数。当属性改变时,会调用绑定的回调函数,修改依赖该属性的其他属性值。

Copy link
Owner

@iammapping iammapping left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

职责划分得很明确,命名这些也很达意。看下来有两点是不是可以优化:1. Watcher 也可以通过 defineProperty get 的方式延迟初始化;2. 当依赖发生变更后,deps 可以只标记为脏的,等真正使用时再计算,这个也可以放到上一条的 get 里做

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants