Перейти к основному содержимому

modelOf()

function modelOf<V>(handle): ModelOf<V>;

Defined in: model/model-value-proxy.ts:253

Value-фасад по ручке дерева model.$: группа → под-модель FormModel, массив → ModelArray. Обратная операция к model.$: modelOf(model.$.address) === model.address.

Ручка находит фасад по ИДЕНТИЧНОСТИ, а не по пути. Путь для этого не годится: он абсолютный (items.0.phones) и меняется при перестановке строк, а области поведения и формы строк вложенные — поиск по пути от под-модели строки ничего не находит.

Лист ручкой контейнера не является — функция бросает. В частности, группа или массив, созданные из начального null, в модели — лист: вид узла фиксируется при создании.

Type Parameters​

V​

V extends object | null | undefined

Значение, которое хранит ручка (выводится из peek()).

Parameters​

handle​

Узел-группа или узел-массив дерева model.$.

peek​

Returns​

ModelOf<V>

Под-модель группы либо фасад массива.

Throws​

TypeError если handle — лист или не ручка модели.

Example​

const model = createModel({ address: { city: '' }, phones: [{ number: '' }] });

modelOf(model.$.address).city = 'Казань'; // под-модель: чтение, запись, get/set/patch
modelOf(model.$.phones).push({ number: '+7' }); // фасад массива: мутации и обход
modelOf(model.$.phones[0]).number; // строка массива — тоже группа