Angular模板简介

模板引擎是Web应用中用来生成动态HTML的一个途径, 负责将数据模型与HTML模板结合起来(即模板渲染),生成最终的HTML。 编写HTML模板的语法称为模板语法,模板语法的表达能力和可扩展性决定了模板引擎的易用性。本文将介绍在重构管理控制台中使用到的 Angular的模板引擎 ng-template
ng-template简介
ng-template表示为Angular模板:这意味着此标记的内容将包含模板的一部分,然后可以与其他模板一起组合以形成最终的组件模板。
ng-template主要包括:ng-containerngIfngForngClassngStylengSwitch
ng-container
ng-container是一个逻辑容器,是 Angular 结构型指令中的一种,用于包含控制内部元素的显示与否。
ng-container可以包含任何元素,包括文本,但本身不会生成元素标签,也不会影响页面样式和布局。包含的内容,如果不通过其他指令控制,会直接渲染到页面中。
基本语法
This is paragraph 1.
This is paragraph 2.

渲染后
This is paragraph 1.
This is paragraph 2.

ngIf
ngIf 用于根据表达式的值,在指定位置渲染 thenelse 模板的内容。
* `then` 模板除非绑定到不同的值,否则默认是 ngIf 指令关联的内联模板。* `else` 模板除非绑定对应的值,否则默认是 null。

简单形式
Please login, friend.Welcome back, friend.Welcome!

使用else块
Welcome back, friend. Please friend, login.

使用then和else块
Welcome back, friend. Please friend, login.

ngFor
ngFor用于使用可迭代的每个项作为模板的上下文来重复模板的一种方式。提供了可以被局部变量别名的其他值:
  • index - 当前项目的位置在从0开始的迭代中
  • first - 如果当前项是可迭代中的第一个项,则为true
  • last - 如果当前项是可迭代中的最后一个项,则为true
  • even - 如果当前索引为偶数,则为true
  • odd - 如果当前索引是奇数,则为true
{{event.title}}
{{event.detail}}

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

ngClass第一个参数为类名称,第二个参数为boolean值,如果为true就添加第一个参数的类。
ngStyle
ngStyle来修改组件或元素的style属性。
// 判断添加

ngSwitch
【Angular模板简介】ng-switch根据表达式的值显示或这隐藏对应部分。
  • ng-switch-when - 对应条件选项,如果匹配选中选择显示,其他为匹配的则移除。
  • ng-switch-default - 设置默认选项,如果都没有匹配的情况,默认选项会显示。

    推荐阅读