|
|
@@ -14,7 +14,7 @@ return withDirectives(h(comp), [
|
|
|
import { VNode } from './vnode'
|
|
|
import { isFunction, EMPTY_OBJ, isBuiltInDirective } from '@vue/shared'
|
|
|
import { warn } from './warning'
|
|
|
-import { ComponentInternalInstance, Data } from './component'
|
|
|
+import { ComponentInternalInstance, Data, getExposeProxy } from './component'
|
|
|
import { currentRenderingInstance } from './componentRenderContext'
|
|
|
import { callWithAsyncErrorHandling, ErrorCodes } from './errorHandling'
|
|
|
import { ComponentPublicInstance } from './componentPublicInstance'
|
|
|
@@ -89,7 +89,9 @@ export function withDirectives<T extends VNode>(
|
|
|
__DEV__ && warn(`withDirectives can only be used inside render functions.`)
|
|
|
return vnode
|
|
|
}
|
|
|
- const instance = internalInstance.proxy
|
|
|
+ const instance =
|
|
|
+ (getExposeProxy(internalInstance) as ComponentPublicInstance) ||
|
|
|
+ internalInstance.proxy
|
|
|
const bindings: DirectiveBinding[] = vnode.dirs || (vnode.dirs = [])
|
|
|
for (let i = 0; i < directives.length; i++) {
|
|
|
let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]
|