Angular 使用总结(三)组件之结构指令

Angular 应用几乎不可能不用结构指令

 

总结常见的结构指令:

1. *ngFor 用来迭代生成多个元素,很常用

举个例子,这个table就是用for迭代出来的,好用:

 

 html:

复制代码
<table>
    <tr>
        <th>name</th>
        <th>age</th>
        <th>address</th>
    </tr>
    <tr *ngFor="let stu of stus">
        <td>{{stu.name}}</td>
        <td>{{stu.age}}</td>
        <td>{{stu.address}}</td>
    </tr>
</table>
复制代码

ts:

复制代码
  stus = [
    {
      name: 'zhangsan',
      age: '20',
      address: 'China Shanghai'
    },
    {
      name: 'lisi',
      age: '20',
      address: 'England london'
    },
    {
      name: 'wangwu',
      age: '20',
      address: 'America NewYork'
    },
    {
      name: 'zhangsan2',
      age: '20',
      address: 'China Xian'
    },
    {
      name: 'zhangsan3',
      age: '20',
      address: 'China Hangzhou'
    },
  ];
复制代码

css:

复制代码
table
{
    border-collapse: collapse;
    text-align: left;
}
table td, table th
{
    border: 1px solid #cad9ea;
    color: #666;
    height: 25px;
    padding: 3px;
    text-indent: 3px;
}
table th
{
    text-align: center;
    background-color: #CCE8EB;
    width: 150px;
    padding: 5px;
}
table tr:nth-child(odd)
{
    background: #fff;
}
table tr:nth-child(even)
{
    background: #F5FAFA;
}
复制代码

 

注:可迭代的不仅仅是原生DOM元素,还包括 Angular组件

 

2. *ngIf 添加或者删除元素

举个例子:

添加元素:

 

删除元素:

 

实现:

<input [(ngModel)]="isShow" type="checkbox">
<div *ngIf="isShow">This is a div element</div>

 

3. *ngSwitch 用来根据各种情况,选择生成特定元素

注:虽然ngSwitch不是一个结构性指令,其实是属性型指令,但是它实现的功能和前面的很类似,所以也放到这里:

 

 

 

 html:

复制代码
<label><input type="radio" name="type" value="comp1" [(ngModel)]="compType">First Component</label>
<label><input type="radio" name="type" value="comp2" [(ngModel)]="compType">Second Component</label>
<label><input type="radio" name="type" value="comp3" [(ngModel)]="compType">Third Component</label>

<ng-container [ngSwitch]="compType">
    <div *ngSwitchCase="'comp1'">This is Our First Component</div>
    <div *ngSwitchCase="'comp2'">This is Our Second Component--><input></div>
    <div *ngSwitchCase="'comp3'">This is Our Third Component<button>button</button></div>
    <div *ngSwitchDefault>This is default</div>
</ng-container>
复制代码

 

posted @   内心澎湃的水晶侠  阅读(304)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示