이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 24383|회답: 4

[각] Angular 9 시리즈 (1) 동적 부하 구성 요소

[링크 복사]
게시됨 2020. 5. 29. 오후 4:40:00 | | | |
Angular 9 시리즈 (1) 동적 부하 구성 요소
https://www.itsvse.com/thread-9238-1-1.html

Angular 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 시리즈 (IV) 맞춤형 파이프 파이프라인
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 시리즈(V)는 금액 통화 형식을 제공합니다
https://www.itsvse.com/thread-9249-1-1.html



컴포넌트의 템플릿이 항상 고정되는 것은 아닙니다. 앱이 런타임 중에 새로운 컴포넌트를 불러와야 할 수도 있습니다.

사용 시나리오:

1. 페이지 로딩은 서로 다른 매개변수에 따라 다양한 구성 요소를 로드하여 서로 다른 효과를 보입니다
2. 페이지는 여러 요소로 구성되어 있으며, 모두 처음에 표시할 필요는 없으며, 탭 탭, 동적 팝업 모달 박스 등 사용자가 클릭한 후 특정 정보가 표시됩니다.

이 글의 사용 시나리오는 2, 상상해 보세요,동적 로딩을 사용하지 않으면, 메인 인터페이스를 열 때 페이지의 숨겨진 모든 구성 요소가 로드되고, 모든 구성 요소가 해당 인터페이스 서비스를 호출하기 때문에 모든 정보를 볼 필요가 없어 자원 낭비가 될 수 있고, 메인 인터페이스가 느리게 로드되어 사용자 경험에 영향을 줄 수 있습니다

ng 단위로 부품을 동적으로 적재하는 방법은 두 가지가 있습니다:

이미 선언된 컴포넌트 로드: ComponentFactoryResolver를 사용해 컴포넌트 인스턴스를 다른 컴포넌트 뷰로 렌더링합니다;
컴포넌트를 동적으로 생성하고 로드하세요: 컴포넌트를 생성하고 렌더링할 때 ComponentFactory와 컴파일러를 사용하세요
우리의 필요에 따라 개별 구성 요소는 미리 개발되어 동일한 구성 요소에 표시되어야 합니다. 그래서 첫 번째 방법이 우리의 요구를 충족합니다.

ComponentFactoryResolver를 사용해 컴포넌트를 동적으로 로드하려면 다음 개념들을 이해해야 합니다:

  • ViewChild: 뷰에 해당 요소를 추가할 수 있는 부동산 장식 프로그램;
  • ViewContainerRef: 컴포넌트를 생성하고 삭제할 수 있는 뷰 컨테이너;
  • ComponentFactoryResolver: 한 컴포넌트를 다른 뷰에서 렌더링할 수 있는 컴포넌트 파서입니다.

먼저, 렌더링을 살펴보고, modal1 버튼을 클릭해 modal1 컴포넌트를 동적으로 로드하고, modal2 버튼을 클릭해 modal2 컴포넌트를 동적으로 로드하세요.



먼저, 각진 프로젝트를 만듭니다.

인덱스, 모달1, 모달2, 모달3 4개의 컴포넌트를 만들고, 그중 모달1과 모달2가 동적으로 로드된 컴포넌트입니다.

지수 성분

HTML:

TS:

Modal1 컴포넌트

HTML:

TS:


Modal2 컴포넌트

HTML:


TS:

Modal3 컴포넌트

HTML:


TS:


우리는 3가지 모달의 컨스트럭터에 그들의 이름을 출력했습니다.

Modal1과 Modal2는 모두 동적으로 로드되며, 버튼을 클릭해 로드할 때만 실행 생성자가 트리거됩니다. Modal3는 동적 로드를 사용하지 않으며, 부모 인터페이스가 로드된 후 Modal3 인터페이스 생성자가 즉시 실행됩니다.

이렇게 하면 동적 로딩의 장점을 확인할 수 있고, 사용하지 않으면 로딩이 되지 않는데, 이는 C#의 게으른 로딩과 비슷합니다.

소스 코드 다운로드:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답


리소스:하이퍼링크 로그인이 보입니다.






이전의:CSS 설정 높이: 100% 유효하지 않은 해답
다음:Azure DevOps 2020 (1) Microsoft Azure DevOps (TFS) 첫 입문
 집주인| 게시됨 2020. 7. 24. 오후 5:52:58 |
Angular 9 시리즈 (1) 동적 부하 구성 요소
https://www.itsvse.com/thread-9238-1-1.html

Angular 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 시리즈 (IV) 맞춤형 파이프 파이프라인
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 시리즈(V)는 금액 통화 형식을 제공합니다
https://www.itsvse.com/thread-9249-1-1.html

Angular 9 시리즈(VI)는 네이티브 JS 변수와 메서드를 호출합니다
https://www.itsvse.com/thread-9254-1-1.html

Angular 9 시리즈 (VII) CSS 스타일 스코프
https://www.itsvse.com/thread-9264-1-1.html

Angular 9 시리즈(VIII)는 집합을 통해 이벤트를 트리거하여 자식 컴포넌트의 값을 업데이트합니다
https://www.itsvse.com/thread-9267-1-1.html

Angular 9 시리즈 (9) #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 시리즈 (XI) 스타일 정의 5가지 방법
https://www.itsvse.com/thread-9305-1-1.html


Angular 9 시리즈(XII)는 OTP를 기반으로 동적 토큰을 생성합니다
https://www.itsvse.com/thread-9325-1-1.html
 집주인| 게시됨 2021. 2. 2. 오후 1:56:30 |
Angular 10 시리즈(13)는 바이두 이차트 차트를 도입했습니다
https://www.itsvse.com/thread-9347-1-1.html

디버깅을 위한 Angular 11 시리즈(XIV) 생산 환경
https://www.itsvse.com/thread-9348-1-1.html

Angular 11 시리즈(XV)는 부품 높이를 획득하고 동적으로 높이를 조절합니다
https://www.itsvse.com/thread-9364-1-1.html

Angular 11 시리즈(16) HTML 소스 코드 페이지 파싱
https://www.itsvse.com/thread-9376-1-1.html
게시됨 2022. 10. 26. 오후 5:27:19 |
배워라!!!!!!!!!!!!!
 집주인| 게시됨 2025. 4. 30. 오후 2:38:35 |
ComponentFactoryResolver폐기됨

수정안은 다음과 같습니다:
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com