- 78 SDK pages per language (components, composables, advanced API, guides, architecture, getting-started) - vector-edit.md user guide page (5 languages) - Update stale ru/programmable/cli/inspecting.md - Fix YAML frontmatter quoting for colons in descriptions 474 files, 0 missing pages across de/es/fr/it/pl/ru. VitePress build verified — all 546 SDK pages render.
1.8 KiB
1.8 KiB
| title | description |
|---|---|
| useEditor | Доступ к текущему инжектированному экземпляру редактора OpenPencil. |
useEditor
useEditor() возвращает текущий инжектированный редактор OpenPencil.
Это главная точка входа для SDK-компосаблов и headless-примитивов, которым нужен доступ к редактору.
Использование
useEditor() должен вызываться внутри поддерева, где уже был вызван provideEditor(editor).
import { useEditor } from '@open-pencil/vue'
const editor = useEditor()
Базовый пример
<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>Current page: {{ pageId }}</div>
</template>
Практические примеры
Чтение выбранных узлов
const editor = useEditor()
const selected = editor.getSelectedNodes()
Вызов команд
const editor = useEditor()
editor.zoomToFit()
editor.undoAction()
Поведение при ошибках
Если вызван вне дерева провайдера редактора, useEditor() бросит исключение с понятным сообщением.
Это намеренно — API должен громко сообщать об отсутствии контекста редактора.
Связанные API
Тип
function useEditor(): Editor