From fab474640461ff313851ac3d20b936c27494fcc0 Mon Sep 17 00:00:00 2001 From: zhangenming <282126346@qq.com> Date: Wed, 18 Sep 2024 18:49:20 +0800 Subject: [PATCH 1/2] Update hydrationStrategies.ts --- packages/runtime-core/src/hydrationStrategies.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/runtime-core/src/hydrationStrategies.ts b/packages/runtime-core/src/hydrationStrategies.ts index 791ca9e5254..d4cbeb5c525 100644 --- a/packages/runtime-core/src/hydrationStrategies.ts +++ b/packages/runtime-core/src/hydrationStrategies.ts @@ -41,19 +41,20 @@ export const hydrateOnVisible: HydrationStrategyFactory< > = opts => (hydrate, forEach) => { const ob = new IntersectionObserver(entries => { for (const e of entries) { - if (!e.isIntersecting) continue - ob.disconnect() - hydrate() - break + if (e.isIntersecting) { + ob.disconnect() + hydrate() + return + } } }, opts) forEach(el => { if (elementIsVisibleInViewport(el)) { hydrate() ob.disconnect() - return false + } else { + ob.observe(el) } - ob.observe(el) }) return () => ob.disconnect() } From bf7faafa782f0b7c0b0b5b542359624bb67576c6 Mon Sep 17 00:00:00 2001 From: zhangenming <282126346@qq.com> Date: Wed, 18 Sep 2024 18:53:56 +0800 Subject: [PATCH 2/2] Update hydrationStrategies.ts --- packages/runtime-core/src/hydrationStrategies.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime-core/src/hydrationStrategies.ts b/packages/runtime-core/src/hydrationStrategies.ts index d4cbeb5c525..7e26e13dd0d 100644 --- a/packages/runtime-core/src/hydrationStrategies.ts +++ b/packages/runtime-core/src/hydrationStrategies.ts @@ -42,8 +42,8 @@ export const hydrateOnVisible: HydrationStrategyFactory< const ob = new IntersectionObserver(entries => { for (const e of entries) { if (e.isIntersecting) { - ob.disconnect() hydrate() + ob.disconnect() return } }