В репозитории Angular недавно смерджен PR, который добавляет опцию set в конфигурацию linkedSignal, позволяющую переопределять и настраивать стандартное поведение для записываемых сигналов.
Например:
const tempC = signal(0);
const tempF = linkedSignal(() => (tempC() * 9) / 5 + 32, {
set: (valF) => tempC.set(((valF - 32) * 5) / 9),
});
console.log(tempF()); // 32
tempF.set(212);
console.log(tempC()); // 100
console.log(tempF()); // 212
Изменение значения по Фаренгейту обновляет Цельсий, что, в свою очередь, реактивно обновляет Фаренгейт.
👉 https://github.com/angular/angular/pull/68708
