Skip to main content

markDerived()

function markDerived(signal): void;

Defined in: core/utils/derived-registry.ts:54

Пометить сигнал производным (вычисляемым).

Вызывается операторами computeFrom/compute для их сигнала-цели. После этого bulk-сеттеры (model.set/model.patch, patchValue/setValue) пропускают это поле, чтобы значение из payload не затирало вычисляемое. Прикладной код напрямую обычно не вызывает.

Идемпотентна на уровне флага: повторные вызовы наращивают счётчик ссылок, чтобы каждый оператор, пишущий в этот сигнал, был сбалансирован своим unmarkDerived при dispose.

Parameters

signal

Signal<any>

Сигнал значения из FormModel, которым владеет compute

Returns

void

Example

import { markDerived } from '@reformer/core';

// Помечаем поле total как вычисляемое — bulk-set его не перезапишет
markDerived(model.$.total);

See

  • isDerived - проверка пометки
  • unmarkDerived - снять пометку при dispose оператора