>웹 프론트엔드 >JS 튜토리얼 >Angular 템플릿 엔진 ng-template에 대해 간단히 이야기하겠습니다.

Angular 템플릿 엔진 ng-template에 대해 간단히 이야기하겠습니다.

青灯夜游
青灯夜游앞으로
2021-07-12 17:45:092488검색

이 글에서는 재구성 관리 콘솔에서 사용되는 Angular의 템플릿 엔진 ng-template을 소개하고, ng-template의 ng-container, ngIf, ngFor, ngClass, ngStyle 및 ngSwitch를 간략하게 소개합니다.

Angular 템플릿 엔진 ng-template에 대해 간단히 이야기하겠습니다.

템플릿 엔진은 웹 애플리케이션에서 동적 HTML을 생성하는 방법입니다. 이는 데이터 모델을 HTML 템플릿(예: 템플릿 렌더링)과 결합하여 최종 HTML을 생성하는 역할을 합니다. HTML 템플릿을 작성하는 구문을 템플릿 구문이라고 합니다. 템플릿 구문의 표현성과 확장성이 템플릿 엔진의 사용 편의성을 결정합니다. [관련 튜토리얼 추천: "angular tutorial"]

ng-template 소개

ng-templateAngular 템플릿으로 표현됩니다. 이 태그를 의미합니다. 콘텐츠에는 템플릿의 일부가 포함되며, 이는 다른 템플릿과 결합되어 최종 구성 요소 템플릿을 형성할 수 있습니다. ng-template表示为Angular模板:这意味着此标记的内容将包含模板的一部分,然后可以与其他模板一起组合以形成最终的组件模板。

ng-template主要包括:ng-containerngIfngForngClassngStylengSwitch

ng-container

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

ngIf 用于根据表达式的值,在指定位置渲染 thenelse 模板的内容。

* `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>

使用else块

<div *ngIf="isLoggedIn; else loggedOut">
  Welcome back, friend.
</div>

<ng-template #loggedOut>
  Please friend, login.
</ng-template>

使用then和else块

<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

ngFor用于使用可迭代的每个项作为模板的上下文来重复模板的一种方式。提供了可以被局部变量别名的其他值:

  • index - 当前项目的位置在从0开始的迭代中
  • first - 如果当前项是可迭代中的第一个项,则为true
  • last - 如果当前项是可迭代中的最后一个项,则为true
  • even - 如果当前索引为偶数,则为true
  • odd - 如果当前索引是奇数,则为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

ngClass指令更改绑定到其附加的组件或元素的class属性。

<a
      class="favorite"
      [ngClass]="[isFavorite ? &#39;text-dark&#39; : &#39;text-gray&#39;]"
      (click)="setFavorite()"
>
      <i class="fe fe-heart font-size-21"></i>
</a>

ngClass第一个参数为类名称,第二个参数为boolean值,如果为true就添加第一个参数的类。

ngStyle

ngStyle来修改组件或元素的style属性。

<div class="label-color" [ngStyle]="{&#39;background-color&#39;: labels | getById:labelId:&#39;color&#39;}"></div>
// 判断添加
<div [ngStyle]="{&#39;background-color&#39;:template === &#39;dark&#39; ? &#39;dark&#39; : &#39;light&#39; }"></<div>

ngSwitch

ng-switch根据表达式的值显示或这隐藏对应部分。

  • ng-switch-when -  对应条件选项,如果匹配选中选择显示,其他为匹配的则移除。

  • ng-switch-default

    ng-template에는 주로 ng-container, ngIf, ngFor, ngClass가 포함됩니다. 코드> 코드>, <code>ngStylengSwitch.
ng-container

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

🎜렌더링 후🎜

rrreee

🎜ngIf🎜🎜🎜ngIf는 다음을 기반으로 지정된 위치에 then 또는 else 템플릿의 콘텐츠를 렌더링하는 데 사용됩니다. 표현의 가치. 🎜rrreee

🎜간단한 형식🎜

rrreee

🎜use else block🎜

rrreee

🎜iterable을 사용하려면 then 및 else 블록을 사용하세요🎜

rrreee

🎜ngFor🎜🎜🎜ngFor 템플릿의 컨텍스트 역할을 하는 각 항목으로 템플릿을 반복합니다. 지역 변수에 의해 별칭이 지정될 수 있는 다른 값을 제공합니다: 🎜
  • index - 0부터 시작하는 반복에서 현재 항목의 위치 🎜
  • 첫 번째 - 현재 항목이 iterable🎜<li> <code>last의 첫 번째 항목이면 true입니다. - 현재 항목이 iterable🎜
  • even - 현재 인덱스가 짝수이면 true🎜
  • odd - 현재 인덱스가 홀수이면 true🎜🎜rrreee

    🎜ngClass🎜🎜 🎜 ngClass 지시문은 연결된 구성요소나 요소의 클래스 속성을 변경합니다. 🎜rrreee🎜ngClass첫 번째 매개변수는 클래스 이름, 두 번째 매개변수는 부울 값입니다. true인 경우 첫 번째 매개변수의 클래스가 추가됩니다. 🎜

    🎜ngStyle🎜🎜🎜ngStyle은 구성요소 또는 요소의 스타일 속성을 수정합니다. 🎜rrreee

    🎜ngSwitch🎜🎜🎜ng-switch는 표현식의 값에 따라 해당 부분을 표시하거나 숨깁니다. 🎜
    • 🎜ng-switch-when - 해당 조건 옵션, 일치 옵션을 선택하면 표시되고, 일치하지 않으면 제거됩니다. 🎜🎜
    • 🎜ng-switch-default - 기본 옵션을 설정합니다. 일치하는 항목이 없으면 기본 옵션이 표시됩니다. 🎜🎜🎜rrreee🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜

위 내용은 Angular 템플릿 엔진 ng-template에 대해 간단히 이야기하겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제