이 글에서는 재구성 관리 콘솔에서 사용되는 Angular의 템플릿 엔진 ng-template을 소개하고, ng-template의 ng-container, ngIf, ngFor, ngClass, ngStyle 및 ngSwitch를 간략하게 소개합니다.
템플릿 엔진은 웹 애플리케이션에서 동적 HTML을 생성하는 방법입니다. 이는 데이터 모델을 HTML 템플릿(예: 템플릿 렌더링)과 결합하여 최종 HTML을 생성하는 역할을 합니다. HTML 템플릿을 작성하는 구문을 템플릿 구문이라고 합니다. 템플릿 구문의 표현성과 확장성이 템플릿 엔진의 사용 편의성을 결정합니다. [관련 튜토리얼 추천: "angular tutorial"]
ng-template 소개
ng-template
은 Angular
템플릿으로 표현됩니다. 이 태그를 의미합니다. 콘텐츠에는 템플릿의 일부가 포함되며, 이는 다른 템플릿과 결합되어 최종 구성 요소 템플릿을 형성할 수 있습니다. ng-template
表示为Angular
模板:这意味着此标记的内容将包含模板的一部分,然后可以与其他模板一起组合以形成最终的组件模板。
ng-template
主要包括:ng-container
、ngIf
,ngFor
、ngClass
、ngStyle
和ngSwitch
。
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
用于根据表达式的值,在指定位置渲染 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>
使用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 id="event-title">{{event.title}}</h3> <p matLine class="secondary-text">{{event.detail}}</p> </mat-list-item>
ngClass
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
ngStyle
来修改组件或元素的style属性。
<div class="label-color" [ngStyle]="{'background-color': labels | getById:labelId:'color'}"></div> // 判断添加 <div [ngStyle]="{'background-color':template === 'dark' ? 'dark' : 'light' }"></<div>
ngSwitch
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
🎜렌더링 후🎜
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🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

각각의 엔진의 구현 원리 및 최적화 전략이 다르기 때문에 JavaScript 엔진은 JavaScript 코드를 구문 분석하고 실행할 때 다른 영향을 미칩니다. 1. 어휘 분석 : 소스 코드를 어휘 단위로 변환합니다. 2. 문법 분석 : 추상 구문 트리를 생성합니다. 3. 최적화 및 컴파일 : JIT 컴파일러를 통해 기계 코드를 생성합니다. 4. 실행 : 기계 코드를 실행하십시오. V8 엔진은 즉각적인 컴파일 및 숨겨진 클래스를 통해 최적화하여 Spidermonkey는 유형 추론 시스템을 사용하여 동일한 코드에서 성능이 다른 성능을 제공합니다.

실제 세계에서 JavaScript의 응용 프로그램에는 서버 측 프로그래밍, 모바일 애플리케이션 개발 및 사물 인터넷 제어가 포함됩니다. 1. 서버 측 프로그래밍은 Node.js를 통해 실현되며 동시 요청 처리에 적합합니다. 2. 모바일 애플리케이션 개발은 재교육을 통해 수행되며 크로스 플랫폼 배포를 지원합니다. 3. Johnny-Five 라이브러리를 통한 IoT 장치 제어에 사용되며 하드웨어 상호 작용에 적합합니다.

일상적인 기술 도구를 사용하여 기능적 다중 테넌트 SaaS 응용 프로그램 (Edtech 앱)을 구축했으며 동일한 작업을 수행 할 수 있습니다. 먼저, 다중 테넌트 SaaS 응용 프로그램은 무엇입니까? 멀티 테넌트 SAAS 응용 프로그램은 노래에서 여러 고객에게 서비스를 제공 할 수 있습니다.

이 기사에서는 Contrim에 의해 확보 된 백엔드와의 프론트 엔드 통합을 보여 주며 Next.js를 사용하여 기능적인 Edtech SaaS 응용 프로그램을 구축합니다. Frontend는 UI 가시성을 제어하기 위해 사용자 권한을 가져오고 API가 역할 기반을 준수하도록합니다.

JavaScript는 현대 웹 개발의 핵심 언어이며 다양성과 유연성에 널리 사용됩니다. 1) 프론트 엔드 개발 : DOM 운영 및 최신 프레임 워크 (예 : React, Vue.js, Angular)를 통해 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축합니다. 2) 서버 측 개발 : Node.js는 비 차단 I/O 모델을 사용하여 높은 동시성 및 실시간 응용 프로그램을 처리합니다. 3) 모바일 및 데스크탑 애플리케이션 개발 : 크로스 플랫폼 개발은 개발 효율을 향상시키기 위해 반응 및 전자를 통해 실현됩니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
