Angular笔记(二)组件结构与生命周期

  • 组件包括:
  • HTML 模板: 声明页面渲染的内容
  • TypeScript 类: 定义行为
  • CSS 选择器: 定义组件在模板中的使用方式
  • (可选)要应用在模板上的 CSS 样式

一、 创建组件:

  1. 使用 Angular CLI 创建一个组件
ng generate component <component-name>

得到文件夹:
组件文件 <component-name>.component.ts
模板文件 <component-name>.component.html
CSS 文件<component-name>.component.css
测试文件 <component-name>.component.spec.ts

  1. 指定组件的 CSS 选择器

每个组件都需要一个 CSS 选择器。选择器会告诉 Angular:当在模板 HTML 中找到相应的标签时,就把该组件实例化在那里。

@Component({
  selector: 'app-component-overview',
})
  1. 定义模板,声明样式

为组件定义模板:引用外部文件,或直接写在组件内部
为组件声明样式:引用一个外部文件,或直接写在组件内部

//外部文件:
@Component({
  selector: 'app-component-overview',
  templateUrl: './component-overview.component.html',
  styleUrls: ['./component-overview.component.css']
})
//内部
@Component({
  selector: 'app-component-overview',
  template: `
    <h1>Hello World!</h1>
    <p>This template definition spans multiple lines.</p>
  `
  styles: ['h1 { font-weight: normal; }']
})

二、生命周期

func用途notestasks
ngOnChanges()当 Angular 设置或重新设置数据绑定的输入属性时响应接受当前和上一属性值的 SimpleChanges 对象
ngOnInit()初始化指令/组件在第一轮 ngOnChanges() 完成之后调用,只调用一次。即使没有调用过 ngOnChanges(),也仍然会调用1. 获取初始数据 2. 设置输入属性初始化指令
ngDoCheck()检测
ngAfterContentInit()
ngAfterContentChecked()
ngAfterViewInit()初始化完组件视图及其子视图或包含该指令的视图之后调用只调用一次
ngAfterViewChecked()
ngOnDestroy()销毁指令/组件之前调用并清扫在这儿反订阅可观察对象和分离事件处理器,以防内存泄漏。1. 取消订阅可观察对象和 DOM 事件 2. 停止 interval 计时器 3. 反注册指令在全局或应用服务中注册过的所有回调
  • 使用变更检测钩子

一旦检测到该组件或指令的输入属性发生了变化,Angular 就会调用它的 ngOnChanges() 方法。

ngOnChanges() 方法获取了一个对象,它把每个发生变化的属性名都映射到了一个SimpleChange对象,该对象中有属性的当前值和前一个值。
这个钩子会在这些发生了变化的属性上进行迭代,并记录它们。

内容投影 Content projection

是从组件外部导入 HTML 内容,并把它插入在组件模板中指定位置上的一种途径。

<ng-content> 标签是外来内容的占位符。

<ng-content>HTML</ng-content>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值