广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买
本篇文章带大家了解一下angular中的组件模板,简单介绍一下相关知识点:数据绑定、属性绑定、事件绑定、双向数据绑定、内容投影等等,希望对大家有所帮助!
Angular 是一个使用 HTML
、CSS
、TypeScript
构建客户端
应用的框架,用来构建单页
应用程序。【相关教程推荐:《angular教程》】
Angular 是一个重量级
的框架,内部集成了大量开箱即用
的功能模块。
Angular 为大型应用开发而设计,提供了干净且松耦合的代码组织方式,使应用程序整洁更易于维护。
angualr文档:
Angular:https://angular.io/
Angular 中文:https://angular.cn/
Angular CLI:https://cli.angular.io/
Angular CLI 中文:https://angular.cn/cli组件模板1、数据绑定
数据绑定就是将组件类中的数据显示在组件模板中,当组件类中的数据发生变化时会自动被同步到组件模板中(数据驱动 DOM )。
在 Angular 中使用插值表达式
进行数据绑定,即 {{ }}
。
<h2>{{message}}</h2><h2>{{getInfo()}}</h2><h2>{{a == b ? '相等': '不等'}}</h2><h2>{{'Hello Angular'}}</h2><p [innerHTML]="htmlSnippet"></p> <!-- 对数据中的代码进行转义 -->登录后复制
2、属性绑定
2.1 普通属性
属性绑定分为两种情况,绑定 DOM 对象属性
和绑定HTML标记属性
。
使用 [属性名称]
为元素绑定 DOM 对象属性。
<img [src]="imgUrl"/>登录后复制
使用 [attr.属性名称]
为元素绑定 HTML 标记属性
<td [attr.colspan]="colSpan"></td>登录后复制
在大多数情况下,DOM 对象属性和 HTML 标记属性是对应的关系,所以使用第一种情况。
但是某些属性只有 HTML 标记
存在,DOM 对象中不存在,此时需要使用第二种情况,比如 colspan
属性,在 DOM 对象中就没有。
或者自定义 HTML 属性也需要使用第二种情况。
2.2 class 属性
<button class="btn btn-primary" [class.active]="isActive">按钮</button><div [ngClass]="{'active': true, 'error': true}"></div>登录后复制
2.3 style 属性
<button [style.backgroundColor]="isActive ? 'blue': 'red'">按钮</button><button [ngStyle]="{'backgroundColor': 'red'}">按钮</button>登录后复制
3、事件绑定
<button (click)="onSave($event)">按钮</button><!-- 当按下回车键抬起的时候执行函数 --><input type="text" (keyup.enter)="onKeyUp()"/>登录后复制
export class AppComponent { title = "test" onSave(event: Event) { // this 指向组件类的实例对象 this.title // "test" }}登录后复制
4、获取原生 DOM 对象
4.1 在组件模板中获取
<input type="text" (keyup.enter)="onKeyUp(username.value)" #username/>登录后复制
4.2 在组件类中获取
使用 ViewChild
装饰器获取一个元素
<p #paragraph>home works!</p>登录后复制
import { AfterViewInit, ElementRef, ViewChild } from "@angular/core"export class HomeComponent implements AfterViewInit { @ViewChild("paragraph") paragraph: ElementRef<HTMLParagraphElement> | undefined ngAfterViewInit() { console.log(this.paragraph?.nativeElement) }}登录后复制
使用 ViewChildren
获取一组元素
<img [src]="imgUrl"/>0登录后复制
<img [src]="imgUrl"/>1登录后复制
5、双向数据绑定
数据在组件类和组件模板中双向同步。
Angular 将双向数据绑定功能放在了 @angular/forms
模块中,所以要实现双向数据绑定需要依赖该模块。
<img [src]="imgUrl"/>2登录后复制
<img [src]="imgUrl"/>3登录后复制
<img [src]="imgUrl"/>4登录后复制
6、内容投影
<img [src]="imgUrl"/>5登录后复制
<img [src]="imgUrl"/>6登录后复制
如果只有一个ng-content,不需要select属性。
ng-content在浏览器中会被 <div class="heading test"></div>
替代,如果不想要这个额外的div,可以使用ng-container替代这个div。
<img [src]="imgUrl"/>7登录后复制
7、数据绑定容错处理
<img [src]="imgUrl"/>8登录后复制
<img [src]="imgUrl"/>9登录后复制
8、全局样式
<td [attr.colspan]="colSpan"></td>0登录后复制
<td [attr.colspan]="colSpan"></td>1登录后复制
<td [attr.colspan]="colSpan"></td>2登录后复制
更多编程相关知识,请访问:编程视频!!
以上就是一文浅析angular中的组件模板的详细内容,更多请关注9543建站博客其它相关文章!
发表评论