logologo
Начало
Руководство
Разработка
Плагины
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Начало
Руководство
Разработка
Плагины
API
logologo

Введение

Что такое FlowEngine?
Связь FlowEngine и плагинов
Быстрый старт
План обучения

Руководство

Регистрация FlowModel
Создание FlowModel
Рендеринг FlowModel
Поток событий и конфигурация FlowModel
Персистентность FlowModel
Жизненный цикл FlowModel
Система контекста FlowModel
Реактивный механизм: Observable
FlowModel vs React.Component

Определения

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageРегистрация FlowModel
Next PageРендеринг FlowModel
Уведомление о переводе ИИ

Эта документация была автоматически переведена ИИ.

#Создание FlowModel

#В качестве корневого узла

#Создание экземпляра FlowModel

Создайте экземпляр локально.

const model = engine.buildModel({
  uid: 'unique1',
  use: 'HelloModel',
});

#Сохранение FlowModel

Если созданный экземпляр необходимо сохранить, вы можете сделать это с помощью метода save.

await model.save();

#Загрузка FlowModel из удаленного репозитория

Сохраненную модель можно загрузить с помощью метода loadModel. Этот метод загружает все дерево модели, включая дочерние узлы:

await engine.loadModel(uid);

#Загрузка или создание FlowModel

Если модель существует, она будет загружена; в противном случае она будет создана и сохранена.

await engine.loadOrCreateModel({
  uid: 'unique1',
  use: 'HelloModel',
});

#Рендеринг FlowModel

const model = engine.buildModel({
  uid: 'unique1',
  use: 'HelloModel',
});
const model = await engine.loadModel(uid);
const model = await engine.loadOrCreateModel(options);

<FlowModelRenderer model={model} />

#В качестве дочернего узла

Если вам нужно управлять свойствами и поведением нескольких дочерних компонентов или модулей внутри одной модели, используйте SubModel. Это актуально для таких сценариев, как вложенные макеты, условный рендеринг и т.д.

#Создание SubModel

Рекомендуется использовать <AddSubModelButton />.

Он автоматически решает вопросы добавления, привязки и хранения дочерних моделей. Подробности смотрите в Инструкции по использованию AddSubModelButton.

#Рендеринг SubModel

model.mapSubModels('subKey', (subModel) => {
  return <FlowModelRenderer model={subModel} />;
});

#В качестве ForkModel

Fork обычно используется в сценариях, когда один и тот же шаблон модели необходимо отобразить в нескольких местах (но с независимыми состояниями), например, для каждой строки в таблице.

#Создание ForkModel

const fork1 = model.createFork('key1', {});
const fork2 = model.createFork('key2', {});

#Рендеринг ForkModel

<FlowModelRenderer model={fork1} />
<FlowModelRenderer model={fork2} />