Eu vi os documentos oficiais, assim como um monte de blogs líricos . Apesar disso, ainda não consigo entender o que é todo esse alvoroço. Eu entendo o que linkedSignal
e computed
são. O que eu não entendo é como eles são diferentes.
Dizem que a limitação do último é que ele não é gravável. Correto. Mas de que forma o primeiro é gravável? Não podemos fazer isso linky.set("shazoo")
, podemos? Só é possível que ele reaja a uma mudança em outro sinal e então, produza um valor recomputado para seu consumidor. No entanto, é exatamente isso que o outro faz.
Angular 18: usando sinal computado.
export class Angy18 {
...
siggy = signal(1);
compy = computed(() => siggy() * 2);
}
Angular 19: usando sinal vinculado.
export class Angy19 {
...
siggy = signal(1);
linky = linkedSignal({
source: this.siggy;
computation: () => siggy() * 2);
});
}
Para mim, parece que a única diferença é que a sintaxe verbosa multi-linha é necessária. Tenho certeza de que o ganho de sinais vinculados está em outro lugar. O que estou perdendo?
Pudermos.
A propósito, o formulário simples também está disponível:
O novo
linkedSignal
serve para declarar um estado local gravávelÉ gravável e também fornece
previous
valor.