热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

agular6.x生命周期个人理解

文章目录文章参考钩子函数介绍组件声明周期构造函数必须掌握的ngOnInitngAfterViewInitngOnDestroy需要了解的ngDoCheckngAfterConten

文章目录

    • 文章参考
    • 钩子函数介绍
    • 组件声明周期
    • 构造函数
    • 必须掌握的
      • ngOnInit
      • ngAfterViewInit
      • ngOnDestroy
    • 需要了解的
      • ngDoCheck
      • ngAfterContentChecked
      • ngAfterViewChecked
    • ngOnChange


文章参考


  1. angular——生命周期函数

钩子函数介绍

在这里插入图片描述

  1. 只调用一次的,我们通常可以用于初始化
  2. 构造函数不要处理一些业务逻辑,因为此时的HTML还没有创建挂载
  3. ngAfterViewInit() 这个阶段可以对DOM节点进行数据和事件绑定


组件声明周期

在这里插入图片描述

  1. 左侧的图是初始化执行的声明周期顺序
  2. 右侧的图是数据发生变化,检测数据变化发生的钩子函数


构造函数


  1. 组件运行的最早的函数,比任何一个生命周期函数要早
  2. 用于依赖注入service等组件
  3. 变量的初始化

必须掌握的


ngOnInit


  1. 构造函数之后马上执行复杂的初始化逻辑
  2. 在Angular设置完输入属性之后,对该组件进行准备
  3. 此时的HTML还没有挂载

ngAfterViewInit


  1. 组件试图及其子试图初始化完成之后执行的方法
  2. 第一次 ngAfterContentChecked() 之后调用,只调用一次。
  3. html已经挂载,我们要操作DOM 节点,应该在这个方法中执行

ngOnDestroy


  1. 在 Angular 销毁指令/组件之前调用。
  2. 作用,防止内存溢出,应用场景:
    a). 组件初始化有定时器,组件销毁前,清空定时器,防止内存溢出
    b). window.onresize 等对window绑定的事件, 组件销毁前,删除定义的事件,防止内存溢出

需要了解的


ngDoCheck


  1. 发生 Angular 无法或不愿意自己检测的变化时作出反应。
  2. 在每个 Angular 变更检测周期中调用,ngOnChanges() 和 ngOnInit() 之后。

ngAfterContentChecked


  1. 每次完成被投影组件内容的变更检测之后调用。
  2. ngAfterContentInit() 和每次 ngDoCheck() 之后调用。

ngAfterViewChecked


  1. 每次做完组件视图和子视图的变更检测之后调用。
  2. ngAfterViewInit()和每次 ngAfterContentChecked() 之后调用

ngOnChange


  1. 当 Angular(重新)设置数据绑定输入属性时响应
  2. 该方法接受当前和上一属性值的 SimpleChanges 对象当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在 ngOnInit() 之前。

只用于父子组件之间


推荐阅读
  • vue使用
    关键词: ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
author-avatar
那一世我给不了你的温柔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有