IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Angular指令 -> 正文阅读

[JavaScript知识库]Angular指令

Augular指令

通过添加和删除视图DOM元素来更改DOM布局 ----结构型指令

改变一个DOM元素的外观或行为 ----属性型指令

结构型指令

三个常用的内置结构型指令:NgIf、NgFor、NgSwitch

NgIf

<div *ngIf="模板表达式">123</div>

NgFor

<div *ngFor="let item of items">{{item.name}}</div>

“let item of items” 引号中的let item of items并不是模板表达式,而是Angular解释的一种小型语言

let item of items意思是将items数组中的每个条目存储到item中。并将其用于每次迭代的模板视图中

NgFor内置的变量

内置变量描述
itemitem代表迭代的每个子项
index每个模板上下文的当前迭代的索引
last布尔值,指示当前项是否是迭代中的最后一项
even布尔值,指示当前索引是否是偶数索引
odd布尔值,指示当前索引是否是技术索引

NgSwitch

NgSwitch指令的用法与其它语言中switch case用法类似

NgSwitch NgSwitchCase NgSwitchDefault三个指令配合使用

ng-container

ng-container并不是一个指令,是Angular中的一个分组元素,可以简单理解为一个Angular提供的标签。

他不会影响样式或DOM布局,当没有合适的宿主元素时,用户可以使用ng-container对元素进行分组。

常见的使用场景是,当需要便利或者是if判断时,它可以起到一个载体的作用

属性型指令

三个常用的内置属性型指令:NgClass NgStyle NgContent

NgClass

利用该指令为元素动态的添加样式

支持三种不同的写法

  • 使用空格分割的字符串
<div [ngClass]="css1 css2 css3">This div is initially saveable, unchanged, and special.</div>
  • 字符串数组
<div [ngClass]="['css1','css2','css3']">This div is initially saveable, unchanged, and special.</div>
  • 对象
<div [ngClass]="{'css1': true, 'css2': false, 'css3': true}">This div is initially saveable, unchanged, and special.</div>

当然也支持将这个对象定义在ts文件中,将NgClass指令绑定到该对象上,实现更多的动态操作

HTML自己提供的语法常见是

<div [class.css-name] = "true"></div>

相对于HTML提供的原生语法来说,NgClass指令的功能更加灵活

NgStyle

动态添加一组Style样式

用法:接收一个键值对的对象表达式

<div [ngStyle]="{font-size: 15px}">This div is initially saveable, unchanged, and special.</div>

NgContent

指令的格式是,可以理解为动态内容的占位符

一个简单例子

子组件 add-button

<button (click) = 'add()'>
 <ng-content></ng-content>
</button>

父组件

<app-add-button>
 添加明细
</app-add-button>

最后展示的是一个“添加明细”的按钮

NgContent在创建可重用组件时内容简化了不少,避免了绑定输入属性这些步骤,只需要设置好,在实际重用该组件的时候往其中嵌入我们需要的文本即可

可以将其理解成为一个进阶版的input

而且动态文本只是其应用的一部分,我们可以往其中放入包括HTML标签,甚至于其他的组件

使用@contentChildren()装饰器获取子组件列表

利用该指令操作通过ng-content投影进来的元素,类似于@ViewChild

注意子元素或指令的查询要在组件的AfterContentInit生命周期开始时才完成,所以需要在对应的生命周期函数中才能获取到要查询的元素

创建指令

@Directive常见的元数据配置选项

元数据配置选项说明
selector对应的是HTML标签的属性名称
inputs列举指令的一组可供数据绑定的输入属性
outputs列举指令的一组可供事件绑定的输出属性
host使用一组键值对,把类的属性映射到宿主元素的绑定属性和事件

指令将指定的行为附加到宿主元素上

所以Angular提供了两个操作宿主元素的对象

  • ElementRef对象:通过该对象的nativeElement属性直接访问应用该指令的DOM元素
  • Renderer2对象:通过该对象修改DOM元素的样式

除此之外还可以通过@HostBinding()装饰器绑定DOM属性

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-11 23:54:12  更:2022-01-11 23:56:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:33:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码