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

unmarkDerived()

function unmarkDerived(signal): void;

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

Снять пометку производного сигнала (обратная операция к markDerived).

Вызывается из очистки (onDispose) оператора compute/computeFrom, когда поведение снимается, но модель/сигнал продолжают жить (динамическая перекоммутация: удалить под-схему → сохранить модель → bulk-set). Без этого сигнал остаётся помеченным навсегда, и bulk-сеттеры навсегда пропускают поле, которое больше ничем не вычисляется.

Учитывает счётчик ссылок: пометка снимается только когда снят последний владелец. Вызов на непомеченном сигнале — безопасный no-op.

Parameters

signal

Signal<any>

Сигнал значения из FormModel, ранее помеченный markDerived

Returns

void

Example

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

markDerived(model.$.total);
onDispose(() => unmarkDerived(model.$.total)); // при снятии compute снова разрешаем bulk-set

See

markDerived - пометить сигнал производным