美文网首页
Angular 知识点记录二

Angular 知识点记录二

作者: 柳源居士 | 来源:发表于2018-11-09 22:32 被阅读0次

    9. 指令概览

    在 Angular 中有三种类型的指令:

    1. 组件 — 拥有模板的指令

    2. 结构型指令 — 通过添加和移除 DOM 元素改变 DOM 布局的指令。例如,NgFor,NgIf.

    3. 属性型指令 — 改变元素、组件或其它指令的外观和行为的指令。例如,内置的 NgStyle指令可以同时修改元素的多个样式。

    10. pipe(管道)

    管道分为纯的(pure)和非纯的(impure)
    Angular 只有在它检测到输入值发生了纯变更时才会执行纯管道。 纯变更是指对原始类型值(String、Number、Boolean、Symbol)的更改, 或者对对象引用(Date、Array、Function、Object)的更改。
    Angular 会忽略(复合)对象内部的更改。 如果你更改了输入日期(Date)中的月份、往一个输入数组(Array)中添加新值或者更新了一个输入对象(Object)的属性,Angular 都不会调用纯管道。(这样可以保证速度)

    Angular 会在每个组件的变更检测周期中执行非纯管道。 非纯管道可能会被调用很多次,和每个按键或每次鼠标移动一样频繁。
    要在脑子里绷着这根弦,必须小心翼翼的实现非纯管道。 一个昂贵、迟钝的管道将摧毁用户体验。

    纯管道使用纯函数。 纯函数是指在处理输入并返回结果时,不会产生任何副作用的函数。 给定相同的输入,它们总是返回相同的输出。

    11. RouterModule

    RouterModule 会被导入多次:每个懒加载的数据装载器都会导入一次。
    但由于router 需要同共享的资源定位打交道,因此同时只能激活一个router service,所以才需要forRoot()和forChild()来区别不同的RouterModule 。
    forRoot():
    forRoot creates a module that contains all the directives, the given routes, and the router service itself.
    forChild():
    forChild creates a module that contains all the directives and the given routes, but does not include the router service.

    相关文章

      网友评论

          本文标题:Angular 知识点记录二

          本文链接:https://www.haomeiwen.com/subject/vjtpnftx.html