Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке signal в Angular?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**`signal`** - це новий реактивний примітив в Angular (починаючи з Angular 16), який зберігає значення і дозволяє автоматично відстежувати, хто це значення читає і кого потрібно оновити при його зміні. Це альтернатива потокам (RxJS) у простих сценаріях і заміна `@Input()`, `@Output()`, `BehaviorSubject` та частини zone-based механіки. **Ключове:** Angular стежить, які вирази читають сигнал, і при зміні запускає оновлення лише пов'язаних шаблонів, ефектів або обчислюваних сигналів.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення`signal` в Angular - це новий реактивний примітив (починаючи з Angular 16), який зберігає значення і дозволяє автоматично відстежувати, хто це значення читає, і кого потрібно оновити при його зміні. Це альтернатива потокам (RxJS) у простих сценаріях і заміна `@Input()`, `@Output()`, `BehaviorSubject` та частини zone-based механіки. ### Як виглядає ```ts import { signal } from '@angular/core'; const counter = signal(0); console.log(counter()); // читання значення counter.set(1); // встановити нове значення counter.update(v => v + 1); // змінити на основі попереднього ``` ### Як працює по суті - `signal()` створює **сховище значення** - читання - це виклик `counter()` - запис - `set()` або `update()` - Angular **стежить, які вирази читають сигнал**, і при зміні запускає оновлення пов'язаних шаблонів, ефектів або обчислюваних сигналів ### Пов'язані сутності - `computed()` - обчислюване значення на основі інших сигналів - `effect()` - реакція на зміну сигналів (наприклад логування або виклик методу) ### Де зазвичай застосовують - стан компонента без RxJS - зберігання UI-станів (фільтри, прапорці, лічильники) - проста реактивність у шаблоні без підписок і `async` pipe ### Головна відмінність від RxJS | Signals | RxJS | |---|---| | Pull-модель | Push-модель | | Стан - одне значення | Потоки подій | | Мінімум підписок | Підписки обов'язкові | | Просто для локального стану | Складні асинхронні сценарії, обробка подій | **Підсумок:** `signal` - це новий механізм реактивного стану в Angular, який спрощує і робить декларативною реактивність усередині компонентів. RxJS при цьому залишається для складних потоків і асинхронної логіки.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.