Angular · Junior · Запитання 39 з 75
Чому так мутувати масив у сигналі - помилка?
items = signal<string[]>([]);
add(x: string) { this.items().push(x); }- ✓Правильна відповідь: Посилання в сигналі не змінюється, і Angular не дізнається про зміну; використовуйте
update(list => [...list, x]) - 2Сигнали не можуть містити масиви
- 3
pushкидає помилку всередині сигналів
Пояснення
За замовчуванням сигнали порівнюють значення через Object.is. Мутація того самого масиву зберігає посилання, тому залежні не отримують сповіщення. Створюйте новий масив чи об'єкт.