Angular 从入坑到挖坑 - 组件食用指南

对应官方文档地址:

显示数据

模板语法

用户输入

组件之间的交互

管道

生命周期钩子

配套代码地址:angular-practice/src/components-guide

二、Contents

Angular 从入坑到弃坑 - Angular 使用入门

Angular 从入坑到挖坑 - 组件食用指南

三、Knowledge Graph

思维导图

四、Step by Step 4.1、组件与模板 4.1.1、组件的基础概念

组件包含了一组特定的功能,每个组件的功能都单一且独立,可以进行重复使用;组件可以通过 angular cli 进行创建,生成的组件位于工作空间的 src/app/ 路径下面

## 创建一个 product-list 组件 ng g component product-list

当需要将组件放置在某个指定的目录下时,可以直接在 ng g 命令中添加路径

## 将 hero 组件生成到 components 路径下 ng g component components/hero

创建新组件

angular 应用就是通过一个个的组件所构成的组件树,一个组件包含了如下的四个部分

product-list.component.ts:组件类,用来处理数据和功能,为视图呈现提供支持

product-list.component.html:组件对应的页面 HTML 模板,用来呈现组件的功能

product-list.component.scss:只针对当前组件的样式

product-list.component.spec.ts:当前组件的单元测试文件(非必须)

当通过命令行创建一个新的组件之后,会自动将新创建的组件注册到应用的根模块(app.module.ts)中

注册组件

在组件类中,通过使用 @Component 装饰器 用来将类声明为组件类,并为这个组件类配置一些元数据 ,以决定该组件在运行期间该如何处理、实例化和使用

装饰器中存在三个基础的配置参数,用来完成组件与视图之间的关联

selector:选择器,当我们在页面上添加了这个选择器指定的标签(<app-product-list></app-product-list>)后,就会在当前使用位置上创建并插入这个组件的一个实例

templateUrl:该组件所对应的 HTML 模板文件地址

styleUrls:该组件视图所特有的 css 样式文件地址

组件的声明

当需要使用这个组件时,直接在页面上添加选择器对应的标签就可以了

组件的使用

4.1.2、模板绑定语法

在 angular 应用中,组件扮演着控制器或是视图模型的作用,在创建组件时会关联一个 html 文件,这个 html 文件则是一个基础的 angular 模板文件

在这个模板文件中,可以通过 angular 内置的模板语法与 html 元素进行结合,从而告诉 angular 如何根据我们的应用逻辑和数据来渲染页面

4.1.2.1、插值表达式

插值表达式可以将组件中的属性值或者是模板上的数据通过模板表达式运算符进行计算,最终将值渲染到视图页面上

import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-product-list', templateUrl: './product-list.component.html', styleUrls: ['./product-list.component.scss'] }) export class ProductListComponent implements OnInit { public title = '我是 title 属性值'; constructor() { } ngOnInit(): void { } } <p>title:{{title}}</p> <p>1+2+3+4+5={{1+2+3+4+5}}</p>

插值表达式

模板表达式的变量来源

模板本身的变量

指令的上下文变量

组件的成员信息(属性 or 方法)

在使用模板表达式时,如果变量名在多个来源中都存在的话,则模板变量是最优先的,其次是指令的上下文变量,最后是组件的成员

在使用模板表达式时应该遵循如下的原则

简单:正常情况下,应该将业务逻辑或是数据运算放到组件中,模板表达式只作为属性或方法的调用

快速执行:模板表达式得出的数据应该快速结束,否则就会对于用户体验造成影响

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyfwf.html