Browse Source

feat(custom-element): expose this.$host in Options API

Evan You 1 year ago
parent
commit
1ef8f46af0
1 changed files with 2 additions and 0 deletions
  1. 2 0
      packages/runtime-core/src/componentPublicInstance.ts

+ 2 - 0
packages/runtime-core/src/componentPublicInstance.ts

@@ -313,6 +313,7 @@ export type ComponentPublicInstance<
   $slots: UnwrapSlotsType<S>
   $slots: UnwrapSlotsType<S>
   $root: ComponentPublicInstance | null
   $root: ComponentPublicInstance | null
   $parent: ComponentPublicInstance | null
   $parent: ComponentPublicInstance | null
+  $host: Element | null
   $emit: EmitFn<E>
   $emit: EmitFn<E>
   $el: any
   $el: any
   $options: Options & MergedComponentOptionsOverride
   $options: Options & MergedComponentOptionsOverride
@@ -371,6 +372,7 @@ export const publicPropertiesMap: PublicPropertiesMap =
     $refs: i => (__DEV__ ? shallowReadonly(i.refs) : i.refs),
     $refs: i => (__DEV__ ? shallowReadonly(i.refs) : i.refs),
     $parent: i => getPublicInstance(i.parent),
     $parent: i => getPublicInstance(i.parent),
     $root: i => getPublicInstance(i.root),
     $root: i => getPublicInstance(i.root),
+    $host: i => i.ce,
     $emit: i => i.emit,
     $emit: i => i.emit,
     $options: i => (__FEATURE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),
     $options: i => (__FEATURE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),
     $forceUpdate: i =>
     $forceUpdate: i =>