Commit Graph

134 Commits

Author SHA1 Message Date
Evan You 7976f7044e refactor(runtime-core): safer currentInstance reset 2024-01-09 07:22:13 +08:00
Yang Mingshan d2d89551bb
fix(watch): cleanup watcher effect from scope when manually stopped (#9978) 2024-01-04 10:36:13 +08:00
丶远方 fe03b2f8bf
chore(apiWatch): constraint deep passes boolean (#9952) 2024-01-03 18:18:45 +08:00
Yang Mingshan f300a4001e
fix(watch): remove instance unmounted short circuit in getter of `watchEffect` (#9948) 2024-01-03 18:09:53 +08:00
Evan You a9f781a92c fix(watch): revert watch behavior when watching shallow reactive objects
close #9965
2024-01-03 17:25:24 +08:00
Evan You 24d77c25ce perf(watch): avoid double traverse for reactive source 2023-12-31 17:29:58 +08:00
yangxiuxiu 4f703d120d
fix(runtime-core): support deep: false when watch reactive (#9928)
close #9916

---------

Co-authored-by: RicardoErii <‘1974364190@qq.com’>
Co-authored-by: Evan You <yyx990803@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-12-30 18:52:17 +08:00
Carlos Rodrigues 4c20f502ca
chore: use relative import location instead of package (#9941) 2023-12-30 08:35:56 +08:00
丶远方 4af85835f7
fix(types): fix defineModel watch type error (#9942)
close #9939
2023-12-30 08:22:56 +08:00
三咲智子 Kevin Deng bfe6b459d3
style: update format & lint config (#9162)
Co-authored-by: 丶远方 <yangpanteng@gmail.com>
Co-authored-by: 三咲智子 Kevin Deng <sxzz@sxzz.moe>
Co-authored-by: Guo Xingjun <99574369+Plumbiu@users.noreply.github.com>
2023-12-26 19:39:47 +08:00
Evan You 1ea775633d chore: Merge branch 'main' into minor 2023-11-21 09:48:26 +08:00
renovate[bot] 16a6438236
chore(deps): update lint (#9627)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2023-11-18 10:33:24 +08:00
花果山大圣 73fd810eeb
fix(reactivity): onCleanup also needs to be cleaned (#8655)
close #5151
close #7695
2023-11-10 16:47:08 +08:00
Johnson Chu 16e06ca08f
feat(reactivity): more efficient reactivity system (#5912)
fix #311, fix #1811, fix #6018, fix #7160, fix #8714, fix #9149, fix #9419, fix #9464
2023-10-27 23:28:40 +09:00
丶远方 a645e7aa51
feat(runtime-core): add `once` option to watch (#9034) 2023-10-27 23:28:40 +09:00
丶远方 3798c5480b
chore: remove unnecessary type assertions (#8311) 2023-05-19 07:49:28 +08:00
Evan You 6213b73cd2 build: custom const enum processing 2023-02-03 09:54:15 +08:00
Anthony Fu 4a16b204be chore: run format 2023-01-12 12:58:11 +01:00
Thorsten Lünborg cd7c887b75
fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope (fix #7319) (#7330)
* fix(reactivity): ensure watch(Effect) can run independent of unmounted instance if created in a detatched effectScope

* test: use separate counters for each watcher to make test more robust
2023-01-09 15:20:21 +01:00
webfansplz 11bd8db768
chore(types): remove unnecessary type assertions (#7032) 2022-11-14 01:44:06 -05:00
Thorsten Lünborg 5dc593ba28
fix(watch): for immediate watch with single source, ensure cb is called with undefined as oldValue (#7075)
fix: #7074
2022-11-09 18:19:35 -05:00
Evan You 23e85e21a5 fix(watch): ensure oldValue in multi-source watcher is always an array
fix #7070
2022-11-09 20:50:02 +08:00
webfansplz 0e0976168f
fix(ssr/watch) flush: sync watchers should work in ssr (#6139)
fix #6013
2022-10-26 06:30:15 -04:00
Thorsten Lünborg bc167b5c6c
fix(runtime-core): watching multiple values - handle `undefined` as initial values (fix: #5032) (#5033) 2022-10-20 21:45:05 +02:00
Evan You 78c199d6db fix(watch): flush:pre watchers should not fire if state change causes
owner component to unmount

fix #2291
2022-08-15 19:00:55 +08:00
edison 220f255fe9
fix(watch): fix watching multiple sources containing shallowRef (#5381)
fix #5371
2022-05-12 20:20:04 -04:00
Evan You 74d2a76af6 fix(watch): fix flush: pre watchers triggered synchronously in setup
fix #5721
2022-04-15 18:08:44 +08:00
Evan You 7efb9dba30 refactor: remove use of Object.assign
TS already transpiles spread to Object.assign with target:es2016
2022-04-12 15:22:11 +08:00
Evan You 9fda9411ec feat(reactivity): add isShallow api 2022-01-18 09:22:41 +08:00
Evan You ce49fdf999 refactor: more readable type names for watch cleanup function 2022-01-12 22:07:47 +08:00
Evan You 87c86e4cc2 refactor: ensure ssr branches are included in esm-bundler build 2021-09-23 15:02:19 -04:00
Yang Mingshan 11a2098a69
fix(watch): remove redundant parameter default value (#4565) 2021-09-21 12:32:12 -04:00
Evan You d87d059ac1 feat(runtime-core): watchSyncEffect 2021-07-20 16:49:54 -04:00
Evan You bc7f9767f5 fix(watch): ensure watchers respect detached scope
fix #4158
2021-07-20 14:32:17 -04:00
Evan You 47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
ioslh 20b6619793
fix(ssr): update initial old value to watch callback in ssr usage (#4103) 2021-07-19 17:13:37 -04:00
Evan You 42ace9577d feat: watchPostEffect 2021-07-16 14:30:49 -04:00
Anthony Fu f5617fc3bb feat(reactivity): new effectScope API (#2195) 2021-07-16 14:30:49 -04:00
Evan You 87f69fd0bb perf(reactivity): improve reactive effect memory usage (#4001)
Based on #2345 , but with smaller API change

- Use class implementation for `ReactiveEffect`
- Switch internal creation of effects to use the class constructor
- Avoid options object allocation
- Avoid creating bound effect runner function (used in schedulers) when not necessary.
- Consumes ~17% less memory compared to last commit
- Introduces a very minor breaking change: the `scheduler` option passed to `effect` no longer receives the runner function.
2021-07-16 14:30:49 -04:00
Evan You 2937530bef fix(v-model): handle mutations of v-model bound array/sets
fix #4096
2021-07-15 12:14:19 -04:00
Evan You fddef8bb74 chore: remove unnecessary casting 2021-06-26 21:35:25 -04:00
Evan You 9acc9a1fa8 fix(watch): avoid traversing objects that are marked non-reactive
e.g. Vue public instances
2021-06-02 15:51:27 -04:00
Evan You 1ff06376ff chore: type fix 2021-05-27 20:58:27 -04:00
Evan You 1526f94edf fix(watch): should not leak this context to setup watch getters
ref #3603
2021-05-25 11:10:11 -04:00
AbaAba~ e7300eb479
fix(runtime-core): watching multiple sources: computed (#3066)
fix #3068
2021-05-07 18:03:35 -04:00
Evan You 98bc9a26e9 wip: more compat tweaks 2021-04-22 09:49:25 -04:00
Evan You 62b8f4a39c fix(watch): avoid traversing non-plain objects 2021-04-20 17:13:58 -04:00
Evan You 115372dd5b wip: refactor deprecations into a single file 2021-04-12 18:47:50 -04:00
Evan You a2f441dc0e wip: refactor compat check utils 2021-04-09 23:51:50 -04:00
Evan You 7a25cbb7a7 wip: fix compat utils usage 2021-04-09 23:21:54 -04:00