由于经常跑去写后端, 而且一些就几个月...很多 ng 的东西就忘掉了.

写在这里方便复习呗.

1. async pipe 没有 resolve 前返回的值是 null

2 view component 没有写 [input] 的话, ng 是不会给 input 属性赋值的所以属性根本不会被创建 (oninit 时 object.keys(this) 可以看出来) , 我们可以通过在 constructor 写一个 default value, 这样在 onInit 时就可以拿到 default value 了

但留意, 如果 view component 写上 [input]="undefined" 那样我们的 default value 就被覆盖掉了哦. (经常会出现在 input 一个需要async 的 data 上)

3.即使一个 promise 已经 resolve 了,但你 .then 它, 任然是异步执行, 这次为了确保它始终是异步的概念.

4. form value accessor 执行 ngOnInit-> writeValue-> registerOnChange -> registerOnTouched -> ngAfterContentInit

5.nested [formGroup] 是无法拿到 root 的 submitted 的, material error 也没有处理这种情况... 所以要 nested form 最好使用唯一 [formGroup] 配上 formGroupName 或者 formGroup.get('nested path') 给所有 control.

6.router.event subscribe 在 constructor 和 oninit 监听是不同的, constructor 可以监听的到本次 event ActivationEnd 到 NavigationEnd 事件. oninit 才监听就完全监听不到本次事件了.

Angular 学习笔记 (久久没有写 angular 常会忘记的小细节)的更多相关文章

  1. html学习笔记(1)--处理特殊字符以及其他的一些小细节

    冬日深夜,照着一本html的书籍练习,忍不住将一些常识记下来.书名是:<HTML与CSS入门经典> by [美] Julie Meloni(这是一位女士) 1.在大多数浏览器中,<s ...

  2. angular学习笔记(三十一)-$location(2)

    之前已经介绍了$location服务的基本用法:angular学习笔记(三十一)-$location(1). 这篇是上一篇的进阶,介绍$location的配置,兼容各版本浏览器,等. *注意,这里介绍 ...

  3. angular学习笔记(三十)-指令(10)-require和controller

    本篇介绍指令的最后两个属性,require和controller 当一个指令需要和父元素指令进行通信的时候,它们就会用到这两个属性,什么意思还是要看栗子: html: <outer‐direct ...

  4. angular学习笔记(三十)-指令(7)-compile和link(2)

    继续上一篇:angular学习笔记(三十)-指令(7)-compile和link(1) 上一篇讲了compile函数的基本概念,接下来详细讲解compile和link的执行顺序. 看一段三个指令嵌套的 ...

  5. angular学习笔记(三十)-指令(6)-transclude()方法(又称linker()方法)-模拟ng-repeat指令

    在angular学习笔记(三十)-指令(4)-transclude文章的末尾提到了,如果在指令中需要反复使用被嵌套的那一坨,需要使用transclude()方法. 在angular学习笔记(三十)-指 ...

  6. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  7. angular学习笔记(三十)-指令(7)-compile和link(1)

    这篇主要讲解指令中的compile,以及它和link的微妙的关系. link函数在之前已经讲过了,而compile函数,它和link函数是不能共存的,如果定义了compile属性又定义link属性,那 ...

  8. angular学习笔记(三十)-指令(5)-link

    这篇主要介绍angular指令中的link属性: link:function(scope,iEle,iAttrs,ctrl,linker){ .... } link属性值为一个函数,这个函数有五个参数 ...

  9. angular学习笔记(三十)-指令(2)-restrice,replace,template

    本篇主要讲解指令中的 restrict属性, replace属性, template属性 这三个属性 一. restrict: 字符串.定义指令在视图中的使用方式,一共有四种使用方式: 1. 元素: ...

随机推荐

  1. SIM800C 连接服务器

    AT+CIPSTART=TCP,域名,端口号 OK 只返回OK,这种情况,说明域名的服务器出错了,OK表示格式正确,但是实际上的TCP是没有连接上的. 测试库服务器出错的时候,就是这种情况 实际连上了 ...

  2. sass基础学习(一)

    移动端布局各种问题 pc端布局各种问题sass 组件模块化面向对象编程ajax 框架学习 webpack 打包 性能优化 gulp是基于Nodejs的自动任务运行器她能自动化地完成 javascrip ...

  3. 解决web资源跨域请求问题

    参考地址: http://my.oschina.net/lichaoqiang/blog/317823 在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到.如果跨域请求被阻止,有可能导致css.j ...

  4. Vue Watch 的原理 和 $nextTick() 通俗理解

    网上watch和$nextTick()解释比较复杂,涉及到promise,h5的dom发生变化的新api等复杂代码,下列就是两个参考. [watch原理] [$nextTick()] 首先,看遇到问题 ...

  5. Linux Input子系统

    先贴代码: //input.c int input_register_handler(struct input_handler *handler) { //此处省略很多代码 list_for_each ...

  6. 接口测试工具-Jmeter使用笔记(六:从文本读取参数)

    使用场景:测试一个接口并发处理数据的能力,并且每次请求传入的参数都要不同. 解决方法--- CSV Data Set Config 列举一个实例,步骤中会侧重读取参数操作的说明,其他有疑问的步骤请查阅 ...

  7. 将python代码打包成一个app/exe

    前言 打包的代码通常都需要写一个简单的界面,一般用PyQt来写.用PyQt写界面的方法请戳这里:PyQt5的安装及基本配置    PyQt5教程 python提供了几个用来打包的模块,主要有py2ap ...

  8. 【UML】NO.55.EBook.8.UML.3.001-【UML和模式应用 第3版】

    1.0.0 Summary Tittle:[UML]NO.54.EBook.8.UML.3.001-[UML和模式应用 第3版] Style:DesignPattern Series:DesignPa ...

  9. maven pom添加oracle11驱动

    参考这篇文章 https://blog.csdn.net/youren_zt/article/details/60132324 OracleJDBC驱动包是需要Oracle官方授权才能被下载.mave ...

  10. 从零开始一起学习SLAM | 点云平滑法线估计

    点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文编程练习框架及数据获取方法见文末获取方式 菜单栏点击"知识星球"查看「从零开始学习SLAM」一 ...