Що нового в Angular 13
Заплановане оновлення популярної веб-структури Angular 13 на основі TypeScript, все ще формується. Станом на 24 вересня було випущено вісім бета-версій, які торкнулися таких областей, як маршрутизатори, основний та обслуговуючий персонал.
Ви можете знайти код для нього на GitHub. Однією з найважливіших змін після другої бета-версії є те, що маршрутизатор більше не замінює URL -адресу браузера, коли нова навігація перериває поточну навігацію. Це викликало мерехтіння URL -адреси і використовувалося лише для підтримки деяких гібридних програм AngularJS. Гібридні програми, орієнтовані на. виїжджаючи navigationId замість цього підпишіться на маршрутизатор NavigationCancel Події та вести location.replaceState додайте себе navigationId у статусі маршрутизатора.
Інші особливості останніх бета -версій Angular 13:
- Поведінка
SpyLocationвикористовуєтьсяRouterTestingModuleбув адаптований до поведінки браузерів. - Для ядра до ініціалізаторів для статичних властивостей додаються чисті анотації. Властивості класу з ініціалізаторами, які викликають запуск коду, можуть мати побічні ефекти при оцінці модуля, подібні до коду на рівні модуля. В результаті оптимізатори не можуть безпечно видалити клас з такою статичною властивістю, оскільки потенційні побічні ефекти можуть вплинути на виконання програми. Для того, щоб класи з цими типами статичних властивостей були оптимізовані та видалені, коли вони не використовуються, вирази ініціалізації статичних властивостей можна коментувати як чисті.
- Кеш службового працівника очищається в працівнику безпеки, щоб гарантувати, що застарілий або пошкоджений вміст не буде обслуговуватися в майбутніх запитах.
- Повідомлення про помилку відсутнього тригера анімації було покращено для браузера платформи.
У перших двох бета -версіях внесено зміни до форм та маршрутизатора.
Для форм Angular 13 дебютує з новим типом, FormControlStatus, що є об’єднанням усіх можливих рядків стану форми управління. Так само, AbstractControl.status був обмежений string до FormControlStatus та StatusChanges були обмежені Observable<any> до Observable<FormControlStatus>. Згідно з журналом змін Angular, більшість програм повинні безперебійно обробляти ці нові типи.
Для маршрутизатора було запропоновано змінити ситуацію, коли стандартний серіалізатор URL -адрес потім видаляє все, включаючи знак питання в параметрах запиту, що призводить до неправильного аналізу навігації /path?q=hello?&other=123. Ця зміна забезпечує правильний аналіз.
Виробничі версії Angular плануються кожні шість місяців, а це означає, що версія 13 вийде до листопада. Попередня версія Angular 12 вийшла 12 травня.
Інші зміни, запропоновані для Angular 13, включають:
- Було запропоновано виправлення для компілятора cli використовувати правильний контекст дозволу модуля для абсолютного імпорту у файлах d.ts.
- Для кліпа -компілятора також буде пропущено аналіз поступових збірок для файлів без поведінки Angular. За допомогою поступової збірки компілятор намагається повторно використати якомога більше даних аналізу з попередньої компіляції, щоб уникнути повторної роботи з аналізом. Для вихідних файлів без поведінки Angular жодні дані аналізу записуватись не будуть, тому вихідний файл буде аналізуватися повторно з кожною збіркою, навіть якщо нічого не змінилося. Ця фіксація дозволяє уникнути аналізу таких вихідних файлів.
- Для мовної служби буде запропонована підтримка типів лінійного об’єднання рядків автозаповнення в шаблонах.
- Для маршрутизатора будуть додані відсутні події розетки
RouterOutletContract. Це потрібно, якщо в майбутньому компоненти будуть динамічно відображатися через мережу модулів.






