Angular 组件通讯、生命周期钩子 小结
http://www.cnblogs.com/zt-blog/p/7986858.html
http://www.cnblogs.com/zt-blog/p/7986858.html
组件接受参数:
1. 路由查询参数(ActivatedRoute:参数镜像、参数订阅两种方式)
2. Input传参(单向)
钩子: ngOnChange
组件间通讯:
1. Input传参(单向) 父 --> 子
2. Output传参(单向) 子 --> 父
3. 中间人(父组件/服务作为他的子组件们的中间人) 兄弟 <--> 兄弟
一般是用服务来做中间人的,而不常用父组件!
4. 模板引用变量(也称模板本地变量) -- 父组件调用自组建
父模板中调用子组件的属性、方法: #name
父组件中调用子组件的属性、方法: @ViewChild()
钩子: ngAfterViewInit ngAfterViewChecked
5. 内容投影: 子组件中通过ng-content指令投影父组件的内容,父组件可以向投影的内容绑定自己的属性。
注: 被投影的片段不能使用子组件的属性,只能使用父组件的属性!
钩子: 下面是按执行顺序
Constructor
ngOnChanges @Input
ngOnInit
ngDoCheck 变更检测
ngAfterContentInit 相关:子组件中通过ng-content指令投影父组件的内容。
ngAfterContentChecked
------ 子组件的上面六个钩子执行,直到没有自组件了 -----
ngAfterViewInit
ngAfterViewChecked
ngOnDestroy 跳转到新路由时,旧路由对应的组件被销毁。
其他:
ng-content 和 [innnerHTML] 都能绑定html内容,区别是:
1. ng-content是平台无关的,[innnerHTML] 只能用于浏览器平台
2. ng-content可以绑定多个内容片段,[innnerHTML] 只能绑定一个。
3. ng-content只能使用父组件的属性,[innnerHTML] 只能使用子组件的属性。
Angular 组件通讯、生命周期钩子 小结的更多相关文章
- Angular25 组件的生命周期钩子
1 生命周期钩子概述 组件共有9个生命周期钩子 1.1 生命周期的执行顺序 技巧01:测试时父组件传递对子组件的输入属性进行初始化操作 import { Component, Input, Simpl ...
- Vue_(组件)实例生命周期钩子
Vue生命周期中文文档 传送门 Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期: Vue生命周期钩子:又称为Vue生命周期钩子方法/函数,是Vue为开发者提供的方法,我们可以通过这 ...
- Vue学习之生命周期钩子小结(四)
一.生命周期钩子(函数): 1.每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听.编译模板.将实例挂载到 DOM 并在数据变化时更新 DOM 等.同时在这个过程中也会运 ...
- Angular 个人深究(四)【生命周期钩子】
Angular 个人深究(四)[生命周期钩子] 定义: 每个组件都有一个被 Angular 管理的生命周期. Angular 创建它,渲染它,创建并渲染它的子组件,在它被绑定的属性发生变化时检查它,并 ...
- Angular 5.x 学习笔记(2) - 生命周期钩子 - 暂时搁浅
Angular 5.x Lifecycle Hooks Learn Note Angular 5.x 生命周期钩子学习笔记 标签(空格分隔): Angular Note on cnblogs.com ...
- 通俗易懂了解Vue组件的生命周期
1.前言 在使用vue2.0进行日常开发中,我们总有这样的需求,我就想在页面刚一加载出这个表格组件时就发送请求去后台拉取数据,亦或者我想在组件加载前显示个loading图,当组件加载出来就让这个loa ...
- Vue项目的创建、路由、及生命周期钩子
目录 一.Vue项目搭建 1.环境搭建 2.项目的创建 3.pycharm配置并启动vue项目 4.vue项目目录结构分析 5.Vue根据配置重新构建依赖 二.Vue项目创建时发生了什么 三.项目初始 ...
- Angular组件生命周期——生命周期钩子
生命周期钩子介绍: 1.ngOnChange:响应组件输入值发生变化时触发的事件. 2.ngOnInit:用于数据绑定输入属性之后初始化组件,在第一次ngOnChange之后被调用. a. 组件构造后 ...
- angular 生命周期钩子 ngOnInit() 和 ngAfterViewInit() 的区别
angular 生命周期钩子的详细介绍在 https://angular.cn/guide/lifecycle-hooks 文档中做了介绍. ngOnInit() 在 Angular 第一次显示数据 ...
随机推荐
- Codeforces Round #510 #B
http://codeforces.com/contest/1042/problem/B 题意: 给出n种饮料,每种饮料还有一种或多种维生素(A或B或C),某人想集齐三种维生素,问最少需要花费多少? ...
- MySQL 资料库概论与MySQL 安装
本文来自:https://www.breakyizhan.com/sql/5648.html 1. 储存与管理资料 储存与管理资料一直是资讯应用上最基本.也是最常见的技术.在还没有使用电脑来管理你的资 ...
- mysql存储过程详解及基于PHP使用实例
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...
- AtCoder Beginner Contest 098 D - Xor Sum 2
D - Xor Sum 2 Time limit : 2sec / Memory limit : 1024MB Score : 500 points Problem Statement There i ...
- leetcode刷题——双指针
知识点 专题-B-双指针 题目: 题解: CS-Notes Algorithm_Interview_Notes-Chinese awesome-algorithm zcy19941015的博客
- 出现Android.os.NetworkOnMainThreadException 错误
两种方法解决: 1.如果用的gradle打包,在build.gradle中修改配置 修改SDKVersion 为低版本(7),不能版本降低过多,否则会出现很多不适配. 2.将网络访问放在一个新的线程中 ...
- Hibernate框架的主键生成策略
在Hibernate中,id元素的<generator>子元素用于生成持久化类的对象的唯一标识符,也就是主键.Hibernate框架中定义了许多主键生成策略类,也叫生成器类.所有的生成器类 ...
- PHP 判断表单提交的file是否为空
echo '<pre>'; var_dump($product_attach_files); echo "</pre>"; echo ];
- cell左右滑动展开更多按钮-MGSwipeTableCell
MGSwipeTableCell是一个UITableViewCell的子类, 它实现了左,右滑动展开更多按钮用来实现一些相关操作就和QQ好友列表滑动展开的按钮一样,封装的很好,动画效果也处理很到位,废 ...
- OpenJ_Bailian——4115鸣人和佐助(带状态的A*)
鸣人和佐助 Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit Status Desc ...