- Angular 2 教程
- Angular 2 - 首页
- Angular 2 - 概述
- Angular 2 - 环境
- Angular 2 - Hello World
- Angular 2 - 模块
- Angular 2 - 架构
- Angular 2 - 组件
- Angular 2 - 模板
- Angular 2 - 指令
- Angular 2 - 元数据
- Angular 2 - 数据绑定
- 使用HTTP进行CRUD操作
- Angular 2 - 错误处理
- Angular 2 - 路由
- Angular 2 - 导航
- Angular 2 - 表单
- Angular 2 - 命令行界面 (CLI)
- Angular 2 - 依赖注入
- Angular 2 - 高级配置
- Angular 2 - 第三方控件
- Angular 2 - 数据显示
- Angular 2 - 处理事件
- Angular 2 - 数据转换
- Angular 2 - 自定义管道
- Angular 2 - 用户输入
- Angular 2 - 生命周期钩子
- Angular 2 - 嵌套容器
- Angular 2 - 服务
- Angular 2 有用资源
- Angular 2 - 问答
- Angular 2 - 快速指南
- Angular 2 - 有用资源
- Angular 2 - 讨论
Angular 2 - 指令
指令是用于扩展HTML功能的自定义HTML元素。Angular 2 具有以下指令,它们作为 BrowserModule 模块的一部分被调用。
- ngIf
- ngFor
如果您查看 app.module.ts 文件,您将看到以下代码和定义的 BrowserModule 模块。通过定义此模块,您可以访问这两个指令。
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; @NgModule ({ imports: [ BrowserModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }
现在让我们详细了解每个指令。
ngIf
ngIf 元素用于在表达式计算结果为true时将元素添加到HTML代码中,否则不会将元素添加到HTML代码中。
语法
*ngIf = 'expression'
如果表达式计算结果为true,则添加相应的元素;否则,不添加元素。
现在让我们来看一个如何使用 *ngIf 指令的示例。
步骤 1 - 首先向名为 appStatus 的类添加一个属性。这将是布尔类型。让我们将其值设置为 true。
import { Component } from '@angular/core'; @Component ({ selector: 'my-app', templateUrl: 'app/app.component.html' }) export class AppComponent { appTitle: string = 'Welcome'; appStatus: boolean = true; }
步骤 2 - 现在在 app.component.html 文件中,添加以下代码。
<div *ngIf = 'appStatus'>{{appTitle}} Tutorialspoint </div>
在上面的代码中,我们现在使用了 *ngIf 指令。在指令中,我们正在评估 appStatus 属性的值。由于属性的值应计算为 true,这意味着 div 标签应显示在浏览器中。
添加上述代码后,我们将在浏览器中获得以下输出。
输出
ngFor
ngFor 元素用于根据 For 循环的条件添加元素。
语法
*ngFor = 'let variable of variablelist'
变量是一个临时变量,用于显示variablelist中的值。
现在让我们来看一个如何使用 *ngFor 指令的示例。
步骤 1 - 首先向名为 appList 的类添加一个属性。这将是可用于定义任何类型数组的类型。
import { Component } from '@angular/core'; @Component ({ selector: 'my-app', templateUrl: 'app/app.component.html' }) export class AppComponent { appTitle: string = 'Welcome'; appList: any[] = [ { "ID": "1", "Name" : "One" }, { "ID": "2", "Name" : "Two" } ]; }
因此,我们将 appList 定义为具有 2 个元素的数组。每个元素都有 2 个子属性:ID 和 Name。
步骤 2 - 在 app.component.html 中,定义以下代码。
<div *ngFor = 'let lst of appList'> <ul> <li>{{lst.ID}}</li> <li>{{lst.Name}}</li> </ul> </div>
在上面的代码中,我们现在使用 ngFor 指令迭代 appList 数组。然后,我们定义一个列表,其中每个列表项都是数组的 ID 和 name 参数。
添加上述代码后,我们将在浏览器中获得以下输出。