Facade API
Узнайте, как добавить Facade API в приложение, чтобы упростить работу с Web SDK.
Архитектура Univer рассчитана на сложные требования, поэтому работать с ней напрямую может быть непросто. Чтобы упростить использование Univer, мы предлагаем более удобный Facade API.
В этой главе подробно рассказывается, как добавить Facade API в приложение. В следующей главе «Возможности» перечислены основные методы Facade API для каждой функции. Полный список методов Facade API приведён в справочнике API соответствующего плагина.
Внимание
Некоторые методы Facade API выполняются асинхронно. В особенности это касается методов, которые изменяют данные: они часто возвращают Promise. Если данные нужно получить сразу после изменения, используйте await или .then(), иначе результат может оказаться неожиданным. Информацию о том, какие именно методы возвращают Promise, см. в соответствующем справочнике API.
Интеграция Facade API в режиме плагинов
Установка
При установке Univer в режиме плагинов реализация Facade API распределена по различным плагинам и подключается к глобальному корневому объекту Facade API. Поэтому для плагинов, предоставляющих Facade API, можно импортировать соответствующие реализации по мере необходимости.
import { FUniver } from '@univerjs/core/facade'import '@univerjs/ui/facade'import '@univerjs/docs/facade'import '@univerjs/docs-ui/facade'Внимание
Пакет facade входит не во все плагины. Это указывается в документации каждой функции.
Использование
import { FUniver } from '@univerjs/core/facade'const univerAPI = FUniver.newAPI(univer)Важные замечания
Не все методы Facade API можно вызывать сразу: некоторые из них доступны только на определённых этапах жизненного цикла. Если метод не срабатывает при немедленном вызове, выберите подходящий этап жизненного цикла следующим образом:
const disposable = univerAPI.addEvent(univerAPI.Event.LifeCycleChanged, ({ stage }) => { if (stage === univerAPI.Enum.LifecycleStages.Rendered) { // Code to be executed when the lifecycle stage is Rendered } if (stage === univerAPI.Enum.LifecycleStages.Steady) { // Code to be executed when the lifecycle stage is Steady }})Интеграция Facade API в режиме предустановок
Если вы интегрируете Univer в режиме предустановок, Facade API для включённых функций импортируется автоматически. При создании экземпляра Univer возвращается соответствующий экземпляр Facade API — univerAPI, который можно использовать сразу.
Насколько полезно это руководство?