• 技术文章 >web前端 >js教程

    Angular中什么是结构指令?怎么使用?

    青灯夜游青灯夜游2022-08-24 19:27:30转载370
    本篇文章带大家了解一下Angular 中结构指令模式,介绍一下结构指令是什么且怎么使用,希望对大家有所帮助!

    大前端成长进阶课程:进入学习

    Angular 中,有两种类型的指令。属性指令修改 DOM 元素的外观或者行为。结构指令添加或者移除 DOM 元素。

    结构指令Angular 中最强大的特性之一,然而它们却频繁被误解。

    如果你对学习 结构指令 感兴趣,那么现在我们就来接着阅读,并了解它们是什么,它们有什么用以及如何在项目中使用它们。【相关教程推荐:《angular教程》】

    你将学到什么

    在本文中,你将学到关于 Angular 结构指令模式的知识点。你会知道它们是什么并且怎么去使用它们。

    学完本文,你将更好理解这些指令并在实际项目中使用它们。

    Angular 结构指令是什么?

    Angular 结构指令是能够更改 DOM 结构的指令。这些指令可以添加、移除或者替换元素。结构指令在其名字之前都有 * 符号。

    Angular 中,有三种标准的结构化指令。

    下面?是一个结构化指令的例子。语法长这样:

     <element ng-if="Condition"></element>

    条件语句必须是 true 或者 false

    <div *ngIf="worker" class="name">{{worker.name}}</div>

    Angular 生成一个 <ng-template> 的元素,然后应用 *ngIf 指令。这会将其转换为方括号 [] 中的属性绑定,比如 [ngIf]<div> 的其余部分,包含类名,插入到 <ng-template> 里。比如:

    <ng-template [ngIf]="worker">
      <div class="name">{{worker.name}}</div>
    </ng-template>

    Angular 结构指令是怎么工作的?

    要使用结构指令,我们需要在 HTML 模版中添加一个带有指令的元素。然后根据我们在指令中设置的条件或者表达式添加、删除或者替换元素。

    结构指令的例子

    我们添加些简单的 HTML 代码。

    app.component.html 文件内容如下:

    <div style="text-align:center">
      <h1>
        Welcome 
      </h1>
    </div>
    <h2> <app-illustrations></app-illustrations></h2>

    怎么使用 *ngIf 指令

    我们根据条件来使用 *ngIf 来确定展示或者移除一个元素。ngIfif-else 很类似。

    当表达式是 false 的时候,*ngIf 指令移除 HTML 元素。当为 true 时候,元素的副本会添加到 DOM 中。

    完整的*ngIf 代码如下:

    <h1>
    	<button (click)="toggleOn =!toggleOn">ng-if illustration</button>
      </h1>
      <div *ngIf="!toggleOn">
      <h2>Hello </h2>
      <p>Good morning to you,click the button to view</p>
      </div>
      <hr>
      <p>Today is Monday and this is a dummy text element to make you feel better</p>
      <p>Understanding the ngIf directive with the else clause</p>

    怎么使用 *ngFor 指令

    我们使用 *ngFor 指令来遍历数组。比如:

    <ul>
    
        <li *ngFor="let wok of workers">{{ wok }}</li>
    
    </ul>

    我们的组件 TypeScript 文件:

    import { Component, OnInit } from '@angular/core';
    
    @Component({
      selector: 'app-illustrations',
      templateUrl: './illustrations.component.html',
      styleUrls: ['./illustrations.component.css']
    })
    export class IllustrationsComponent implements OnInit {
      workers: any = [
    
        'worker 1',
    
        'worker 2',
    
        'worker 3',
    
        'worker 4',
    
        'worker 5',
    
      ]
    
      constructor() { }
    
      ngOnInit(): void {
      }
    
    }

    怎么使用 *ngSwitch 指令

    译者加:这个指令实际开发很有用

    我们使用 ngSwitch 来根据不同条件声明来决定渲染哪个元素。*ngSwitch 指令很像我们使用的 switch 语句。比如:

    <div [ngSwitch]="Myshopping">
      <p *ngSwitchCase="'cups'">cups</p>
      <p *ngSwitchCase="'veg'">Vegetables</p>
      <p *ngSwitchCase="'clothes'">Trousers</p>
      <p *ngSwitchDefault>My Shopping</p>
    </div>

    typescript 中:

    Myshopping: string = '';

    我们有一个 MyShopping 变量,它有一个默认值,用于在模块中渲染满足条件的特定元素。

    当条件值是 true 的时候,相关的元素就会被渲染到 DOM 中,其余的元素将被忽略。如果没有元素匹配,则渲染 *ngSwitchDefault 的元素到 DOM 中。

    Angular 中我们什么时候需要用结构指令呢?

    如果你想在 DOM 中添加或者移除一个元素的时候,你就应该使用结构指令。 当然,我们还可以使用它们来更改元素 CSS 样式,或者添加事件监听器。甚至可以使用它们来创建一个之前不存在的新的元素。

    最好的规则是:当我们正在考虑操作 DOM 的时候,那么是时候使用结构指令了

    总结

    结构指令是 Angular 中很重要的一部分,我们可以通过多种方式使用它们。

    希望通过本文,读者能更好理解怎么去使用这些指令和什么时候去使用这些模式。

    本文为译文,采用意译的形式。

    原文地址:https://www.freecodecamp.org/news/angular-structural-directive-patterns-what-they-are-and-how-to-use-them/

    更多编程相关知识,请访问:编程视频!!

    以上就是Angular中什么是结构指令?怎么使用?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:Angular.js Angular
    上一篇:【整理分享】一些Node.js可运用的测试框架 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 聊聊Angular Route中怎么提前获取数据• Angular如何进行视图封装?聊聊三种封装模式• 项目过大怎么办?如何合理拆分Angular项目?• 如何上手Angular,先从 8 个开源项目开始!• 4个Angular单元测试编写的小技巧,快来看看!
    1/1

    PHP中文网