File tree 3 files changed +7
-5
lines changed
3 files changed +7
-5
lines changed Original file line number Diff line number Diff line change @@ -594,7 +594,7 @@ describe('reactivity/computed', () => {
594
594
595
595
v . value += ' World'
596
596
await nextTick ( )
597
- expect ( serializeInner ( root ) ) . toBe ( 'Hello World World World World ' )
597
+ expect ( serializeInner ( root ) ) . toBe ( 'Hello World World World' )
598
598
// expect(COMPUTED_SIDE_EFFECT_WARN).toHaveBeenWarned()
599
599
} )
600
600
@@ -892,7 +892,7 @@ describe('reactivity/computed', () => {
892
892
v . value += ' World'
893
893
await nextTick ( )
894
894
expect ( serializeInner ( root ) ) . toBe (
895
- 'Hello World World World World | Hello World World World World' ,
895
+ 'Hello World World World | Hello World World World' ,
896
896
)
897
897
} )
898
898
@@ -962,7 +962,6 @@ describe('reactivity/computed', () => {
962
962
} )
963
963
} )
964
964
965
- // #11797
966
965
test ( 'should prevent endless recursion in self-referencing computed getters' , async ( ) => {
967
966
const Comp = defineComponent ( {
968
967
data ( ) {
@@ -999,7 +998,7 @@ describe('reactivity/computed', () => {
999
998
} )
1000
999
const root = nodeOps . createElement ( 'div' )
1001
1000
render ( h ( Comp ) , root )
1002
- expect ( serializeInner ( root ) ) . toBe ( `<button>Step</button><p>Step 1 </p>` )
1001
+ expect ( serializeInner ( root ) ) . toBe ( `<button>Step</button><p></p>` )
1003
1002
triggerEvent ( root . children [ 1 ] as TestElement , 'click' )
1004
1003
await nextTick ( )
1005
1004
expect ( serializeInner ( root ) ) . toBe ( `<button>Step</button><p>Step 2</p>` )
Original file line number Diff line number Diff line change @@ -111,9 +111,9 @@ export class ComputedRefImpl<T = any> implements Subscriber {
111
111
* @internal
112
112
*/
113
113
notify ( ) : void {
114
- this . flags |= EffectFlags . DIRTY
115
114
// avoid infinite self recursion
116
115
if ( activeSub !== this ) {
116
+ this . flags |= EffectFlags . DIRTY
117
117
this . dep . notify ( )
118
118
} else if ( __DEV__ ) {
119
119
// TODO warn
Original file line number Diff line number Diff line change @@ -345,6 +345,9 @@ function isDirty(sub: Subscriber): boolean {
345
345
* @internal
346
346
*/
347
347
export function refreshComputed ( computed : ComputedRefImpl ) : false | undefined {
348
+ if ( computed . flags & EffectFlags . RUNNING ) {
349
+ return false
350
+ }
348
351
if (
349
352
computed . flags & EffectFlags . TRACKING &&
350
353
! ( computed . flags & EffectFlags . DIRTY )
You can’t perform that action at this time.
0 commit comments