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

    Interface NodeText

    Текстовый узел в AST.

    Узел может представлять:

    • статическое значение (value),
    • динамическое значение (один или несколько путей в data),
    • смешанное выражение (динамика + статический текст, в expr).
    • type — всегда "text"
    • value — строка, если узел статический
    • data — строка или массив строк, если узел динамический
    • expr — строка-шаблон с индексами ${_[i]}, если текст смешанный
    ({ html }) => html`Static text`
    
    [{ type: "text", value: "Static text" }]
    
    ({ html, context }) => html`<p>${context.dynamic}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [{ type: "text", data: "/context/dynamic" }],
    },
    ]
    ({ html, context }) => html`<p>Hello, ${context.family} ${context.name}!</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: ["/context/family", "/context/name"],
    expr: "Hello, ${_[0]} ${_[1]}!",
    },
    ],
    },
    ]
    ({ html, context }) => html`<p>${context.name.toUpperCase()} - ${context.email.toLowerCase()}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: ["/context/name", "/context/email"],
    expr: "${_[0].toUpperCase()} - ${_[1].toLowerCase()}",
    },
    ],
    },
    ]
    ({ html, context }) => html`<p>${context.a + context.b * 2}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: ["/context/a", "/context/b"],
    expr: "${_[0] + _[1] * 2}",
    },
    ],
    },
    ]
    ({ html, context }) => html`<p class=${context.isOpen && "open"}>${context.isOpen && "Open"}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    string: {
    class: {
    data: "/context/isOpen",
    expr: '${_[0] && "open"}',
    },
    },
    child: [
    {
    type: "text",
    data: "/context/isOpen",
    expr: '${_[0] && "Open"}',
    },
    ],
    },
    ]
    ({ html, context }) => html` <p>${context.last && `last: ${context.last}`}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: "/context/last",
    expr: "${_[0] && `last: ${_[0]}`}",
    },
    ],
    },
    ]
    ({ html, context }) => html`<p>${context.flag ? "Yes" : "No"}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: "/context/flag",
    expr: '${_[0] ? "Yes" : "No"}',
    },
    ],
    },
    ]
    ({ html, context }) => html`<p>${context.name ? `Hi, ${context.name}!` : ""}</p>`
    
    [
    {
    tag: "p",
    type: "el",
    child: [
    {
    type: "text",
    data: "/context/name",
    expr: '${_[0] ? `Hi, ${_[0]}!` : ""}',
    },
    ],
    },
    ]
    interface NodeText {
        type: "text";
        data?: string | string[];
        value?: string;
        expr?: string;
    }
    Index

    Properties

    Properties

    type: "text"

    Тип узла — всегда "text"

    data?: string | string[]

    Путь или список путей к данным.

    value?: string

    Статическое значение (если текст полностью статический).

    expr?: string

    Выражение с индексами (если текст смешанный или содержит операторы).

    Индексы (_[0], _[1]) ссылаются на элементы массива data.