Skip to content

useViewer

Retrieve the Viewer instance injected by createViewer in the current component or its ancestor components.

Usage

WARNING

If useViewer and createViewer are used in the same component:

  • useViewer must be called after createViewer.
  • useViewer will prioritize using the Viewer instance created by createViewer in the current component.

Inject and Retrieve in the Same Component

ts
createViewer(/** options */);

// Must be called after `createViewer`
const viewer = useViewer();

Inject and Retrieve in Descendant Components

vue
// parent.vue
<script setup>
const elRef = ref<HTMLElement>();
const viewer = createViewer(elRef);
</script>

<template>
  <div ref="elRef" />
  <Child />
</template>
vue
// child.vue
<script setup>
const viewer = useViewer();
</script>

Type Definitions

typescript
import type { Viewer } from 'cesium';
import type { ShallowRef } from 'vue';
/**
 * Obtain the `Viewer` instance injected through `createViewer` in the current component or its ancestor components.
 *
 * note:
 * - If `createViewer` and `useViewer` are called in the same component, the `Viewer` instance injected by `createViewer` will be used preferentially.
 * - When calling `createViewer` and `useViewer` in the same component, `createViewer` should be called before `useViewer`.
 */
export declare function useViewer(): Readonly<ShallowRef<Viewer | undefined>>;