useEditor
useEditor() возвращает экземпляр редактора 4B Pen, переданный ближайшим вызовом provideEditor().
Это основная точка входа для composables и компонентов без встроенного оформления, которым нужен редактор.
Использование
useEditor() должен вызываться внутри поддерева, где уже был вызван provideEditor(editor).
ts
import { useEditor } from '@open-pencil/vue'
const editor = useEditor()Пример
vue
<script setup lang="ts">
import { computed } from 'vue'
import { useEditor } from '@open-pencil/vue'
const editor = useEditor()
const pageId = computed(() => editor.state.currentPageId)
</script>
<template>
<div>Текущая страница: {{ pageId }}</div>
</template>Примеры
Чтение выделенных объектов
ts
const editor = useEditor()
const selected = editor.getSelectedNodes()Вызов команд
ts
const editor = useEditor()
editor.zoomToFit()
editor.undoAction()Поведение при ошибках
Если вызвать useEditor() вне дерева компонентов, в котором был вызван provideEditor(), функция выдаст понятную ошибку. Это позволяет сразу обнаружить отсутствие контекста редактора.
Связанные API
Тип
ts
function useEditor(): Editor