Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 24383|Відповідь: 4

[Кутовий голос] Компоненти Angular 9 серії (1) з динамічно завантаженим навантаженням

[Копіювати посилання]
Опубліковано 29.05.2020 16:40:00 | | | |
Компоненти Angular 9 серії (1) з динамічно завантаженим навантаженням
https://www.itsvse.com/thread-9238-1-1.html

Кутові параметри передачі 9 серій (2) динамічних компонентних компонентів
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 серія (3) підписується на події динамічних компонентів
https://www.itsvse.com/thread-9246-1-1.html

Трубопроводи Angular 9 Series (IV) Custom Pipe
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) форматує формат суми валюти
https://www.itsvse.com/thread-9249-1-1.html



Шаблон компонента не завжди буде фіксованим. Можливо, вашому додатку потрібно буде завантажити деякі нові компоненти під час виконання.

Сценарії використання:

1. Завантаження сторінки завантажує різні компоненти за різними параметрами, показуючи різні ефекти
2. Сторінка складається з кількох елементів, не всі з них потрібно відображати на початку, і після кліків користувача відображається конкретна інформація, наприклад: вкладки вкладок, динамічні модальні вікна тощо.

Сценарій використання цієї статті такий: 2, уявіть собі,Якщо ви не використовуєте динамічне завантаження, коли відкриваєте основний інтерфейс, всі приховані компоненти сторінки будуть завантажені, і всі компоненти викликають відповідні інтерфейсні сервіси, часто нам не потрібно бачити всю інформацію, що є великою марнотратністю ресурсів і може призвести до повільного завантаження основного інтерфейсу, що впливає на користувацький досвід

Існує два способи динамічного завантаження компонентів у ng:

Завантажити вже оголошені компоненти: Використовуйте ComponentFactoryResolver для рендерингу екземпляра компонента в інший вигляд компонента;
Створюйте та завантажуйте компоненти динамічно: використовуйте ComponentFactory та компілятор для створення та рендерингу компонентів
Відповідно до наших потреб, окремі компоненти розробляються заздалегідь і мають відображатися на одному й тому ж компоненті. Отже, перший спосіб відповідає нашим вимогам.

Щоб динамічно завантажувати компоненти за допомогою ComponentFactoryResolver, потрібно розуміти такі поняття:

  • ViewChild: Декоратор властивостей, через який можна отримати відповідні елементи на вигляді;
  • ViewContainerRef: Контейнер перегляду, на якому компоненти можна створювати та видаляти;
  • ComponentFactoryResolver: Парсер компонентів, який може рендерити один компонент у вигляді іншого.

Спочатку подивимося на рендеринги: натисніть кнопку modal1, щоб динамічно завантажити компонент modal1, і натисніть кнопку modal2, щоб динамічно завантажити компонент modal2.



Спочатку ми створюємо кутовий проєкт.

Створимо 4 компоненти: index, modal1, modal2 і modal3, з яких modal1 і modal2 є нашими динамічно завантаженими компонентами.

Індексна компонента

html:

ts:

Компонент modal1

html:

ts:


Компонент modal2

html:


ts:

Компонент modal3

html:


ts:


Ми надрукували їхні імена на конструкторі для трьох модалів.

Modal1 і Modal2 завантажуються динамічно, лише при натисканні кнопки для завантаження запускається конструктор виконання, Modal3 не використовує динамічне завантаження, після завантаження батьківського інтерфейсу конструктор інтерфейсу Modal3 запускається негайно.

Таким чином ви побачите переваги динамічного завантаження, і воно не завантажується, якщо ви ним не користуєтеся, подібно до лінивого завантаження в C#.

Завантаження вихідного коду:

Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласкаВідповідь


Ресурси:Вхід за гіперпосиланням видно.






Попередній:Висота налаштування CSS: 100% некоректне рішення
Наступний:Azure DevOps 2020 (1) First Introduction to Microsoft Azure DevOps (TFS)
 Орендодавець| Опубліковано 24.07.2020 17:52:58 |
Компоненти Angular 9 серії (1) з динамічно завантаженим навантаженням
https://www.itsvse.com/thread-9238-1-1.html

Кутові параметри передачі 9 серій (2) динамічних компонентних компонентів
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 серія (3) підписується на події динамічних компонентів
https://www.itsvse.com/thread-9246-1-1.html

Трубопроводи Angular 9 Series (IV) Custom Pipe
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) форматує формат суми валюти
https://www.itsvse.com/thread-9249-1-1.html

Angular 9 series (VI) викликає нативні JS-змінні та методи
https://www.itsvse.com/thread-9254-1-1.html

Приціл у стилі CSS серії Angular 9 (VII)
https://www.itsvse.com/thread-9264-1-1.html

Серія Angular 9 (VIII) оновлює значення дочірнього компонента, запускаючи подію через множину
https://www.itsvse.com/thread-9267-1-1.html

Селектор Angular 9 Series (дев'ять#id) застосовується до сторінки
https://www.itsvse.com/thread-9278-1-1.html

Angular 9 серії (10) вбудовує vconsole та eruda для налагоджувальних панелей розробників
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 Series (XI) 5 способів визначення стилів
https://www.itsvse.com/thread-9305-1-1.html


Серія Angular 9 (XII) генерує динамічні токени на основі OTP
https://www.itsvse.com/thread-9325-1-1.html
 Орендодавець| Опубліковано 02.02.2021 13:56:30 |
Серія Angular 10 (тринадцята) представляє схеми Baidu echarts
https://www.itsvse.com/thread-9347-1-1.html

Виробниче середовище серії Angular 11 (XIV) для налагодження
https://www.itsvse.com/thread-9348-1-1.html

Angular 11 Series (XV) отримує висоту компонентів і динамічно регулює висоту
https://www.itsvse.com/thread-9364-1-1.html

Вихідний код HTML-коду Angular серії 11 (16) для розбору сторінок
https://www.itsvse.com/thread-9376-1-1.html
Опубліковано 26.10.2022 17:27:19 |
Вчіться!!!!!!!!!!!!!
 Орендодавець| Опубліковано 30.04.2025 14:38:35 |
ComponentFactoryResolverЗастарілі

Зміни такі:
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com