openpencil/packages/docs/ru/programmable/sdk/api/composables/use-editor.md
Danila Poyarkov 14325280d9 docs(i18n): translate all missing pages to 6 languages
- 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.
2026-04-22 18:35:22 +03:00

1.8 KiB
Raw Permalink Blame History

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