이 글에서는 재구성 관리 콘솔에서 사용되는 Angular의 템플릿 엔진 ng-template을 소개하고, ng-template의 ng-container, ngIf, ngFor, ngClass, ngStyle 및 ngSwitch를 간략하게 소개합니다.
템플릿 엔진은 웹 애플리케이션에서 동적 HTML을 생성하는 방법입니다. 이는 데이터 모델을 HTML 템플릿(예: 템플릿 렌더링)과 결합하여 최종 HTML을 생성하는 역할을 합니다. HTML 템플릿을 작성하는 구문을 템플릿 구문이라고 합니다. 템플릿 구문의 표현성과 확장성이 템플릿 엔진의 사용 편의성을 결정합니다. [관련 튜토리얼 추천: "angular tutorial"]
ng-template
은 Angular
템플릿으로 표현됩니다. 이 태그를 의미합니다. 콘텐츠에는 템플릿의 일부가 포함되며, 이는 다른 템플릿과 결합되어 최종 구성 요소 템플릿을 형성할 수 있습니다. ng-template
表示为Angular
模板:这意味着此标记的内容将包含模板的一部分,然后可以与其他模板一起组合以形成最终的组件模板。
ng-template
主要包括:ng-container
、ngIf
,ngFor
、ngClass
、ngStyle
和ngSwitch
。
ng-container
是一个逻辑容器,是 Angular
结构型指令中的一种,用于包含控制内部元素的显示与否。
ng-container
可以包含任何元素,包括文本,但本身不会生成元素标签,也不会影响页面样式和布局。包含的内容,如果不通过其他指令控制,会直接渲染到页面中。
<div> <ng-container> <p>This is paragraph 1.</p> <p>This is paragraph 2.</p> </ng-container> </div>
<div> <p>This is paragraph 1.</p> <p>This is paragraph 2.</p> </div>
ngIf
用于根据表达式的值,在指定位置渲染 then
或 else
模板的内容。
* `then` 模板除非绑定到不同的值,否则默认是 ngIf 指令关联的内联模板。 * `else` 模板除非绑定对应的值,否则默认是 null。复制代码
<div *ngIf="!isLoggedIn"> Please login, friend. </div> <!-- logic && operator --> <div *ngIf="isLoggedIn && !isNewUser"> Welcome back, friend. </div> <!-- logic OR operator --> <div *ngIf="isLoggedIn || isNewUser"> Welcome! </div>
<div *ngIf="isLoggedIn; else loggedOut"> Welcome back, friend. </div> <ng-template #loggedOut> Please friend, login. </ng-template>
<ng-container *ngIf="isLoggedIn; then loggedIn; else loggedOut"></ng-container> <ng-template #loggedIn> <div> Welcome back, friend. </div> </ng-template> <ng-template #loggedOut> <div> Please friend, login. </div> </ng-template>
ngFor
用于使用可迭代的每个项作为模板的上下文来重复模板的一种方式。提供了可以被局部变量别名的其他值:
index
- 当前项目的位置在从0开始的迭代中first
- 如果当前项是可迭代中的第一个项,则为truelast
- 如果当前项是可迭代中的最后一个项,则为trueeven
- 如果当前索引为偶数,则为trueodd
- 如果当前索引是奇数,则为true<mat-list-item *ngFor="let event of events"> <h3 matLine>{{event.title}}</h3> <p matLine class="secondary-text">{{event.detail}}</p> </mat-list-item>
ngClass
指令更改绑定到其附加的组件或元素的class属性。
<a class="favorite" [ngClass]="[isFavorite ? 'text-dark' : 'text-gray']" (click)="setFavorite()" > <i class="fe fe-heart font-size-21"></i> </a>
ngClass
第一个参数为类名称,第二个参数为boolean值,如果为true就添加第一个参数的类。
ngStyle
来修改组件或元素的style属性。
<div class="label-color" [ngStyle]="{'background-color': labels | getById:labelId:'color'}"></div> // 判断添加 <div [ngStyle]="{'background-color':template === 'dark' ? 'dark' : 'light' }"></<div>
ng-switch
根据表达式的值显示或这隐藏对应部分。
ng-switch-when
- 对应条件选项,如果匹配选中选择显示,其他为匹配的则移除。
ng-switch-default
ng-template
에는 주로 ng-container
, ngIf
, ngFor
, ngClass가 포함됩니다. 코드> 코드>, <code>ngStyle
및 ngSwitch
.
ng-container
는 논리적 컨테이너이며 Angular
구조 지시문 중 하나입니다. 내부 요소의 표시 여부를 제어하는 데 사용됩니다.
ng-container
는 텍스트를 포함한 모든 요소를 포함할 수 있지만 요소 태그 자체를 생성하지 않으며 페이지 스타일 및 레이아웃에 영향을 주지 않습니다. 포함된 콘텐츠는 다른 지침을 통해 제어되지 않는 경우 페이지에 직접 렌더링됩니다. 🎜<div ng-switch="表达式/变量"> <div ng-switch-when="value"></div> <div ng-switch-when="value"></div> <div ng-switch-when="value"></div> <div ng-switch-default></div> </div
ngIf
는 다음을 기반으로 지정된 위치에 then
또는 else
템플릿의 콘텐츠를 렌더링하는 데 사용됩니다. 표현의 가치. 🎜rrreeengFor
템플릿의 컨텍스트 역할을 하는 각 항목으로 템플릿을 반복합니다. 지역 변수에 의해 별칭이 지정될 수 있는 다른 값을 제공합니다: 🎜index
- 0부터 시작하는 반복에서 현재 항목의 위치 🎜첫 번째 - 현재 항목이 iterable🎜<li>
<code>last
의 첫 번째 항목이면 true입니다. - 현재 항목이 iterable🎜odd
- 현재 인덱스가 홀수이면 true🎜🎜rrreeengClass
지시문은 연결된 구성요소나 요소의 클래스 속성을 변경합니다. 🎜rrreee🎜ngClass
첫 번째 매개변수는 클래스 이름, 두 번째 매개변수는 부울 값입니다. true인 경우 첫 번째 매개변수의 클래스가 추가됩니다. 🎜ngStyle
은 구성요소 또는 요소의 스타일 속성을 수정합니다. 🎜rrreeeng-switch
는 표현식의 값에 따라 해당 부분을 표시하거나 숨깁니다. 🎜ng-switch-when
- 해당 조건 옵션, 일치 옵션을 선택하면 표시되고, 일치하지 않으면 제거됩니다. 🎜🎜ng-switch-default
- 기본 옵션을 설정합니다. 일치하는 항목이 없으면 기본 옵션이 표시됩니다. 🎜🎜🎜rrreee🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜위 내용은 Angular 템플릿 엔진 ng-template에 대해 간단히 이야기하겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!