@@ -1160,14 +1160,14 @@ function baseCreateRenderer(
1160
1160
1161
1161
if ( ( n2 . type as ConcreteComponent ) . __vapor ) {
1162
1162
if ( n1 == null ) {
1163
- getVaporInterface ( parentComponent ) . mount (
1163
+ getVaporInterface ( parentComponent , n2 ) . mount (
1164
1164
n2 ,
1165
1165
container ,
1166
1166
anchor ,
1167
1167
parentComponent ,
1168
1168
)
1169
1169
} else {
1170
- getVaporInterface ( parentComponent ) . update (
1170
+ getVaporInterface ( parentComponent , n2 ) . update (
1171
1171
n1 ,
1172
1172
n2 ,
1173
1173
shouldUpdateComponent ( n1 , n2 , optimized ) ,
@@ -2055,7 +2055,7 @@ function baseCreateRenderer(
2055
2055
const { el, type, transition, children, shapeFlag } = vnode
2056
2056
if ( shapeFlag & ShapeFlags . COMPONENT ) {
2057
2057
if ( ( type as ConcreteComponent ) . __vapor ) {
2058
- getVaporInterface ( parentComponent ) . move ( vnode , container , anchor )
2058
+ getVaporInterface ( parentComponent , vnode ) . move ( vnode , container , anchor )
2059
2059
} else {
2060
2060
move (
2061
2061
vnode . component ! . subTree ,
@@ -2185,7 +2185,7 @@ function baseCreateRenderer(
2185
2185
2186
2186
if ( shapeFlag & ShapeFlags . COMPONENT ) {
2187
2187
if ( ( type as ConcreteComponent ) . __vapor ) {
2188
- getVaporInterface ( parentComponent ) . unmount ( vnode , doRemove )
2188
+ getVaporInterface ( parentComponent , vnode ) . unmount ( vnode , doRemove )
2189
2189
} else {
2190
2190
unmountComponent ( vnode . component ! , parentSuspense , doRemove )
2191
2191
}
@@ -2620,8 +2620,10 @@ export function invalidateMount(hooks: LifecycleHook | undefined): void {
2620
2620
2621
2621
function getVaporInterface (
2622
2622
instance : ComponentInternalInstance | null ,
2623
+ vnode : VNode ,
2623
2624
) : VaporInteropInterface {
2624
- const res = instance ! . appContext . vapor
2625
+ const ctx = instance ? instance . appContext : vnode . appContext
2626
+ const res = ctx && ctx . vapor
2625
2627
if ( __DEV__ && ! res ) {
2626
2628
warn (
2627
2629
`Vapor component found in vdom tree but vapor-in-vdom interop was not installed. ` +
0 commit comments