Angular2 组件生命周期

均匀分布产生高斯分布 均匀分布产生高斯分布 文章目录均匀分布产生高斯分布简介方法和证明代码效果引用 简介 方法和证明 代码 效果 引用 阅读详情

1. 说明

Angular每个组件都存在一个生命周期,从创建,变更到销毁。Angular提供组件生命周期钩子,把这些关键时刻暴露出来,赋予在这些关键结点和组件进行交互的能力。

2. 接口

按照生命周期执行的先后顺序,Angular生命周期接口如下所示

名称时机接口范围
ngOnChanges当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在 ngOnInit之前。OnChanges指令和组件
ngOnInit在第一轮 ngOnChanges 完成之后调用。 ( 译注:也就是说当每个输入属性的值都被触发了一次 ngOnChanges 之后才会调用 ngOnInit ,此时所有输入属性都已经有了正确的初始绑定值 )OnInit指令和组件
ngDoCheck在每个 Angular 变更检测周期中调用。DoCheck指令和组件
ngAfterContentInit当把内容投影进组件之后调用。AfterContentInit组件
ngAfterContentChecked每次完成被投影组件内容的变更检测之后调用。AfterContentChecked组件
ngAfterViewInit初始化完组件视图及其子视图之后调用。AfterViewInit组件
after initializing the component’s views and child views.
ngAfterViewChecked每次做完组件视图和子视图的变更检测之后调用。AfterViewChecked组件
ngOnDestroy当 Angular 每次销毁指令 / 组件之前调用。OnDestroy指令和组件

3. 示例

我们用一个示例展示一些常用的生命周期函数的用法,主要包括ngOnChanges,ngOnInit,ngDoCheck,ngOnDestroy,实现的示例代码如下:

birthday组件中实现了对应的生命周期函数,并在App组件中调用

import { Component, Input, OnChanges, OnInit, DoCheck, OnDestroy } from '@angular/core';

@Component({

    moduleId: 'birthday',

    selector: 'birthday',

    template: `

        <h5>your birthday is {{birthday}}</h5>

    `,

})

export class BirthdayComponent implements OnChanges, OnInit, DoCheck, OnDestroy {

    @Input()

    birthday;



    ngOnChanges(changes) {

        console.log('ngOnChanges');

    }



    ngOnInit() {

        console.log('ngOnInit');

    }



    ngDoCheck() {

        console.log('ngDoCheck');

    }



    ngOnDestroy() {

        console.log('ngOnDestroy');

    }

}



@Component({

    moduleId: 'app',

    selector: 'app',

    template: `

        <birthday [birthday]="birthday"></birthday>

    `,

    directives: [BirthdayComponent]

})

export class AppComponent {

    birthday: Date = new Date(2012, 10, 10);

}

在Chrome中运行,得到的结果如下,可以清楚的看到按照ngOnChanges,ngOnInit,ngDoCheck的顺序执行,当组件销毁时会调用ngOnDestroy。
这里写图片描述

【QGIS】软件下载安装及GIS4WRF插件使用 阅读详情

相关推荐

车载导航测试,面试常见问题

车载导航测试是汽车软件测试的重要组成部分,涉及验证导航系统的功能、性能、可靠性和用户体验。在面试中,面试官通常会考察候选人的测试思维、问题解决能力和实际经验。以下我将从常见问题类别入手,逐步介绍面试中的高频问题,并提供结构化分析。通过以上结构化准备,你能在面试中自信应对车载导航测试相关问题。用户体验测试关注界面友好性和交互流畅性,安全测试则涉及功能安全和数据隐私。功能测试聚焦于导航核心功能的正确性,如路线规划、位置定位和地图显示。面试官会考察你如何识别、报告和跟踪缺陷,以及熟悉测试工具。

m0_69889939的博客 525

angular的生命周期

当 Angular 实例化组件类并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着变更检测,Angular 会检查数据绑定属性何时发生变化,并按需更新视图和组件实例。当 Angular 销毁组件实例并从 DOM 中移除它渲染的模板时,生命周期就结束了。当 Angular 在执行过程中创建、更新和销毁实例时,指令就有了类似的生命周期。 你的应用可以使用生命周期钩子方法来触发组件或指令生命周期中的关键事件,以初始化新实例,需要时启动变更检测,在变更检测过程中响应更新,并在删除实例之前进行

weixin_52455405的博客 5694

【AI编程】用AI开发STM32软件(1):环境配置+AI编写LED闪烁

现在AI编程这么火,不拿来开发嵌软也太可惜了。笔者最近刚好有个2学分的实践课,要自己做项目,这不,机会就来了。笔者特意记录下来其过程,以供大家学习和参考。使用:VSCode+Copilot+EIDE+STM32CubeMX,单片机用最经典的stm32f103c8t6+STLink。

qq_23220445的博客 4569

Angular组件生命周期详解

当 Angular 实例化组件类 并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着变更检测,Angular 会检查数据绑定属性何时发生变化,并按需更新视图和组件实例。当 Angular 销毁组件实例并从 DOM 中移除它渲染的模板时,生命周期就结束了。当 Angular 在执行过程中创建、更新和销毁实例时,指令就有了类似的生命周期。

一个搬砖工人 2168

图像处理(12)--图像各种噪声及消除方法

文章目录结构1.什么是图像噪声2. 图像噪声来源3. 噪声分类及其消除方法3.1 高斯噪声及其消除方式3.1.1 如何确定一种噪声是高斯噪声3.1.2 高斯滤波消除高斯噪声3.1.3 高斯函数的重要性质3.2 瑞利噪声及其消除方式3.3 伽马(爱尔兰)噪声及其消除方式3.4 指数分布噪声及其消除方式3.5 均匀噪声及其消除方式3.6 脉冲(椒盐)噪声及其消除方式 1.什么是图像噪声 图像噪声是指...

ShaneHolmes 11万+

AI计算,为什么要用GPU?

几年后,2012年,神经网络之父杰弗里·辛顿(Geoffrey Hinton)的两个学生——亚历克斯·克里切夫斯基(Alex Krizhevsky)、伊利亚·苏茨克沃(Ilya Sutskever),利用“深度学习+GPU”的方案,提出了深度神经网络AlexNet,将识别成功率从74%提升到85%,一举赢得Image Net挑战赛的冠军。根据形态,GPU可分为独立GPU(dGPU,discrete/dedicated GPU)和集成GPU(iGPU,integrated GPU),也就是常说的独显、集显。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 1674

【Angular2】生命周期

1.说明 Angular每个组件都存在一个生命周期,从创建,变更到销毁。Angular提供组件生命周期钩子,把这些关键时刻暴露出来,赋予在这些关键结点和组件进行交互的能力。 2.接口 按照生命周期执行的先后顺序,Angular生命周期接口如下所示 名称 时机 接口 范围 ngOnChanges 当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在ngOnInit之前。 ...

精致技术 703

Python通用编程规范-09 安全编程规范

1.9 安全编程规范 1.9.1 异常行为 1.9.1.1 禁止抑制或者忽略已检查异常 【说明】: 编码人员常常会通过一个空的或者无意义的catch块来抑制捕获的已检查异常。每一个catch块都应该确保程序只会在继续有效的情况下才会继续运行下去。因此,catch块必须要么从异常情况中恢复,要么重新抛出适合当前catch块上下文的另一个异常以允许最邻近的外层try-catch语句块来进行恢复工作。异常会打断应用原本预期的控制流程。例如,try块中位于异常发生点之后的任何表达式和语句都不会被执行。因此,异常必须

zhao12501的博客 2871

Angular 组件的生命周期是怎样的?

在组件的生命周期中,你可以在相应的钩子函数中执行自定义逻辑。5、ngAfterContentChecked:在组件的内容投影被检查之后被调用。4、ngAfterContentInit:在组件的内容投影初始化之后被调用。3、ngDoCheck:在每个变更检测周期中被调用,包括每个子组件和指令。7、ngAfterViewChecked:在组件的视图被检查之后被调用。2、ngOnInit:在组件初始化时被调用,仅在组件创建时调用一次。6、ngAfterViewInit:在组件的视图初始化之后被调用。

金木AI 890

泛微OAe9-自定义资源看板

OA中,有一个很好用的功能:会议室预约。对于一间设立的会议室,同一时间段内,肯定会有不同的人预约同一间会议室,并且,在资源看板里,能看清各个时间段会议室的占用情况,可是会议室资源是有限的,显然不可能让多个人在同一时间段内预约同一间会议室,如会议室已占用,其他人再次申请时,应当拒绝预约。

小松鼠的博客 1848

2026年迈瑞医疗嵌入式岗位面试题集(含参考答案)

文章摘要 本文总结了嵌入式开发面试中的30道题目,涵盖7大模块:嵌入式硬件与底层驱动、C/C++语言基础、操作系统与多线程编程、网络通信协议、数据结构与算法、开发工具与调试能力、综合素养与职业认知。重点解析了I²C通信协议的工作原理、速率选择及异常排查方法;USB的报文协议与四种传输类型及其适用场景;硬中断与软中断的区别及设计注意事项;字节序的概念与处理方法;以及C++中static和const关键字的核心作用。内容深入实用,适用于嵌入式开发者的技术提升与面试准备。

Open 52

Angular生命周期(深度探究)

通俗的讲:ngDoCheck()会在ngOnInit()和ngOnChanges() 后运行,若ngOnInit()和ngOnChanges() 都触发,ngDoCheck()会在ngOnInit()后触发,至于首次加载页面ngDoCheck()会触发两次,上文第一章末已提及,这里不做赘述。触发时机:紧跟在每次执行变更检测时的 ngOnChanges() 和 首次执行变更检测时的 ngOnInit() 后调用。官方释义:每当 Angular 做完组件视图和子视图或包含该指令的视图的变更检测之后调用。

zhouhuang的博客 1510

编译zlib库给IOS平台用

在弹出的下面对话框中选择Unix Makefiles ,然后点击(Done)完成。使用 lipo与otool查看库类型为arm64,现在可在ios平台使用该库了。zlib自带CMakeLists.txt 所以用CMake-GUI来生成。修改为与系统当前安装的cmake版本 (如:3.22.1)选择zlib源码目录及输出目录,输入下图的CMAKE参数。点击Configure,在弹出的对话框中选择Yes。cmake --install . 进行安装。cmake --build . 进行编译。

993

angular2 组件的生命周期钩子

angular2 组件的生命周期钩子 按照生命周期执行的先后顺序,Angular生命周期接口如下所示 名称 时机 接口 范围 ngOnChanges 当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在 ngOnInit之前。 OnChanges

Skyline 2997

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Angular2--组件生命周期

组件初始化顺序: constructor ngOnChanges ngOnInit ngDoCheck ngAfterContentInit ngAfterContentChecked ngAfterViewInit ngAfterViewChecked 变化检测会被多次执行的方法: ngOnChanges ngDoCheck ngAfterContentChecked

friend_ship的博客 614

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Angular2--组件的生命周期

钩子的触发顺序 各个钩子的详细介绍 组件的生命周期由Angular内部管理,从组件的创建,渲染,到数据变动时间的触发,再到组件从DOM中移除,Angular都提供了一系列的钩子。开发者可以实现一个或多个生命周期钩子,从而在各阶段做点适当的处理。钩子方法都放在@angular/core中。 钩子的触发顺序 Angular会按以下的顺序进行依次调用钩子的方法(从上到下,依...

细心程度决定你的成败 1466

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

6、Angular 2组件的生命周期钩子

如果打算自己写组件库的话,组件的声明周期需要深入掌握。寻常的业务代码倒不会太涉及这方面的东西。 组件生命周期的这些钩子的执行顺序 如下图所示: 实现的ngOnChanges(){}钩子方法会在组件的最先运行,比ngOnInit()都更前。这和angular组件本身的实例化是有关系的。angular在实例化组件时是会先去处理那些输入属性(也就是@Input属性)的。所以会先调用ngOnChan

学海无涯苦作舟 2007

Angular 2 组件的生命周期简要

接口 OnInit OnDestroy DoCheck OnChanges AfterContentInit AfterContentChecked AfterViewInit AfterViewChecked 函数名 ngOnChanges - 当输入/输出绑定的值改变时调用 ngOnInit - 在第一次...

weixin_34273481的博客 105

angular2系列教程(五)Structural directives、再谈组件生命周期

今天,我们要讲的是structural directives和组件生命周期这两个知识点。structural directives顾名思义就是改变dom结构的指令。著名的内建结构指令有 ngIf, ngSwitch and ngFor。 例子 例子是我自己改写的,编写一个structural directives,然后通过这个指令实例化和注销组件,在此同时监视组件生命周期。

qiupu4667的博客 646

angular2 简述

angular2 总体简述 1.图(1) 2.图(2) 3.图(3) 4.图(4) 5.图(5) 6. 可以看出angular2的组件有以下两大部分组成:分别是下面的1.@Component部分(可以称之为装饰器),装饰器方法里有一些参数。他们就是angular2八大核心之一的元数据装饰器是typeScript提供的一种语法特性,用来修饰...

weixin_33836223的博客 190

angular初学(目录架构、生命周期、基础指令、管道、单元测试)

版本初识 Angular2.0之前的版本(1.x),叫做AngularJS,基于 JavaScript;Angular 2 是基于 TypeScript2.0。 在 Angular 1 中,最为常用的是 $scope 在 Angular 2和4中被去掉了。在新版本中,更多的是 directive 和 controller, 通过对 component 组件的分割,从而实现代码的复用。 架构概览 首层目录 组件、生命周期、模块、指令的认识 使用 Angular CLI 创建一个组件: 在终端窗口中,导

Kamen_Yip的博客 256

angular2.0指令 (directive) 和组件 (component) 的生命周期解析

指令 (directive) 和组件 (component) 具有生命周期,由 Angular 在创建、更新和销毁它们的过程中进行管理。 你可以通过实现一个或多个生命周期钩子接口,切入到生命周期中的关键时间点。 每个接口只有一个钩子方法,方法名是接口名加前缀 ng。例如,OnInit接口的钩子方法名为 ngOnInit。 Angular 会按以下顺序调用钩子方法:

沈斯明技术博客 3242

angular2系列教程(三)components

今天,我们要讲的是angualr2的components。 例子 这个例子是个老外写的,我将其迁移到angular2beta版本,想了解迁移的同学可以参考我的做法。 源代码 消失的控制器 angular2的组件就是angual1中的指令。它包含模板、样式、注入、和选择器。 组件嵌套组件可以实现类似react的模块化,我曾经也用angular1做过类似的事

qiupu4667的博客 845
上一篇: Angular2 VS Angular4 深度对比:特性、性能
下一篇: Angualr4基础之组件生命周期
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值