Шаблонизатор для MetaFor - v2.6.1
    Preparing search index...

    Type Alias Params<C, I, S>

    Параметры для функции шаблонизатора. Содержит все необходимые данные и функции для шаблонизации.

    const result = parse<{ attempt: number }, { ice: { url: string }[] }, state>(
    ({ html, context, update, core, state }) => html`
    <h1>Config</h1>
    <ul>
    ${core.ice.map((server) => html`<li>Url: ${server.url}</li>`)}
    </ul>
    <h1>State</h1>
    <p>${state}</p>
    ${state === "offline" &&
    html` <button onclick=${() => update({ attempt: context.attempt + 1 })}>Connect</button>`}
    `
    )
    type Params<C extends Context, I extends Core = Core, S extends State = State> = {
        html: (strings: TemplateStringsArray, ...values: any[]) => string;
        core: I;
        context: C;
        state: S;
        update: (context: Partial<C>) => void;
    }

    Type Parameters

    Index

    Properties

    html: (strings: TemplateStringsArray, ...values: any[]) => string

    Функция для создания HTML из template literals

    core: I

    Core объект. Содержит сложные данные, объекты, функции и утилиты, доступные в шаблоне. Может содержать любые типы данных: объекты, массивы, функции, классы.

    context: C

    Контекст.

    Контекстные значения содержат простые данные, доступные в шаблоне для рендеринга. Поддерживает только примитивные типы и массивы примитивных типов.

    state: S

    Состояние приложения. Строковое представление текущего состояния.

    update: (context: Partial<C>) => void

    Функция для обновления контекста Update. Используется в обработчиках событий для изменения состояния.

    // Обновление одного поля
    update({ count: 5 })

    // Обновление нескольких полей
    update({ name: "John", age: 25 })

    // В обработчике события
    html`<button onclick=${() => update({ active: !context.active })}>Toggle</button>`