File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed
Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,20 @@ describe('reactivity/computed', () => {
3333 expect ( cValue . value ) . toBe ( 1 )
3434 } )
3535
36+ it ( 'pass oldValue to computed getter' , ( ) => {
37+ const count = ref ( 0 )
38+ const oldValue = ref ( )
39+ const curValue = computed ( pre => {
40+ oldValue . value = pre
41+ return count . value
42+ } )
43+ expect ( curValue . value ) . toBe ( 0 )
44+ expect ( oldValue . value ) . toBe ( undefined )
45+ count . value ++
46+ expect ( curValue . value ) . toBe ( 1 )
47+ expect ( oldValue . value ) . toBe ( 0 )
48+ } )
49+
3650 it ( 'should compute lazily' , ( ) => {
3751 const value = reactive < { foo ?: number } > ( { } )
3852 const getter = vi . fn ( ( ) => value . foo )
Original file line number Diff line number Diff line change @@ -381,7 +381,7 @@ export function refreshComputed(computed: ComputedRefImpl): false | undefined {
381381
382382 try {
383383 prepareDeps ( computed )
384- const value = computed . fn ( )
384+ const value = computed . fn ( computed . _value )
385385 if ( dep . version === 0 || hasChanged ( value , computed . _value ) ) {
386386 computed . _value = value
387387 dep . version ++
You can’t perform that action at this time.
0 commit comments