diff --git a/README.md b/README.md index d4972b9..2b18ee9 100644 --- a/README.md +++ b/README.md @@ -57,6 +57,7 @@ vx:cuixr1314 - [x] 支持最基础的 slots - [x] 支持 Text 类型节点 - [x] 支持 $el api +- [x] 支持 watchEffect #### reactivity diff --git a/packages/runtime-core/src/apiWatch.ts b/packages/runtime-core/src/apiWatch.ts index 8903a27..b5c6006 100644 --- a/packages/runtime-core/src/apiWatch.ts +++ b/packages/runtime-core/src/apiWatch.ts @@ -14,10 +14,12 @@ function doWatch(source) { effect.run(); }; + // 当触发 trigger 的时候会调用 scheduler // 这里用 scheduler 的目的就是在更新的时候 // 让回调可以在 render 前执行 变成一个异步的行为(这里也可以通过 flush 来改变) const scheduler = () => queuePreFlushCb(job); + // 这里是在执行 effect.run 的时候就会调用的 const getter = () => { source(); };