摘要:Angular生命周期钩子(Lifecycle hook) 参考文档:https://angular.cn/guide/glossary#lifecycle-hook 一种接口,它允许你监听指令和组件的生命周期,比如创建、更新和销毁等。 每个接口只有一个钩子方法,方法名是接口名加前缀ng。例如,On
阅读全文
摘要:Angular中的可观察对象 参考文档:https://angular.cn/guide/observables-in-angular Angular使用可观察对象作为处理各种常用异步操作的接口。比如: EventEmitter类派生自Observable HTTP模块使用可观察对象来处理AJAX请
阅读全文
摘要:什么是HTTP_INTERCEPTORS? 一个多重提供商(multi-provider)令牌,它代表所有已注册的HttpInterceptor构成的数组 const HTTP_INTERCEPTORS: InjectionToken<HttpInterceptor[]>; 什么是HttpInter
阅读全文
摘要:依赖提供者 笔记参考:https://angular.cn/guide/dependency-injection-providers 依赖提供者会使用DI令牌(什么是DI令牌?)来配置注入器,注入器会用它来提供这个依赖值的具体的、运行时版本。注入器依靠“提供者配置”来创建依赖的实例,并把该实例注入到
阅读全文
摘要:什么是ModuleWithProviders? 笔记参考:https://angular.cn/api/core/ModuleWithProviders 对NgModule及其相关providers的包装 interface ModuleWithProviders<T> { ngModule: Ty
阅读全文
摘要:结构 识别库的类型 全局库 全局库是指能在全局命名空间下访问的(例如:不需要使用任何形式的import) UMD库 全局库模版 模版文件global.d.ts 模块化库 识别UMD库 UMD模块会检查是否存在模块加载器环境。它们会像下面这样: 类 使用declare class描述一个类或像类一样的
阅读全文
摘要:数组 定义数组的两种方式 1. [] let list: number[] = [1, 2, 3]; 2. 数组泛型,Array<元素类型> let list: Array<number> = [1, 2, 3]; 元组Tunple 元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
阅读全文
摘要:引导/启动 用NgModule中指定的根组件进行启动 import { platformBrowerDynamic } from '@angular/platform-browser-dynamic'; platformBrowserDynamic().bootstrapModule(AppModu
阅读全文
摘要:废弃的方法及其替换 Observable.if -> iif() 根据条件订阅第一个或第二个可观察对象 Observable.if 写法 Observable.if(condition, a$, b$) iif() 写法 [推荐] iif(condition, a$, b$) merge() 创建一
阅读全文
摘要:ContentChild 装饰器 参考:https://angular.cn/api/core/ContentChild 配置内容查询的参数装饰器 用于从内容DOM中获取与选择器匹配的第一个元素或指令。如果内容DOM发生了改变,并且有一个新的子元素与选择器匹配,那么属性将被更新。 在调用ngAfte
阅读全文
摘要:Sass混合指令 @mixin和@include 用法示例 本文内容来自官网文档:https://www.sass.hk/docs/ 混合指令(Mixin)用于定义可重复使用的样式,避免了使用无语意的class,比如.float-left。混合指令可以包含所有的CSS规则,绝大部分Sass规则,甚至
阅读全文
摘要:Angular 英雄编辑器 学习文档:https://angular.cn/tutorial/toh-pt1 @Component是个装饰器函数,用于为该组件指定Angular所需的元数据。 ngOnInit()是一个生命周期钩子,Angular在创建完组件后很快就会调用ngOnInit(),这里是
阅读全文
摘要:Angular入门开发指南,学习重点知识笔记。 Angular 基本原理 HttpClient 参考文档:https://angular.cn/guide/http 为什么要写服务? 在实战中,数据访问很少能一直这么简单。你通常要对数据做后处理、添加错误处理器,还可能加一些重试逻辑,以便应对网络抽风
阅读全文
摘要:学习网站:https://angular.cn/docs angular的装饰器 类装饰器(class decorator) 装饰器会出现在类定义的紧前方,用来声明该类具有指定的类型,并且提供适合该类型的元数据。 可以用下列装饰器来声明Angular的类: @Component() @Directi
阅读全文
摘要:参考书籍:《JavaScript高级程序设计(第3版)》 函数表达式 函数表达式是JavaScript中的一个即强大又容易令人困惑的特性。 function functionName(arg0, arg1, arg2) { // 函数体 } Firefox,Safari,Chrome和Opera都给
阅读全文
摘要:上一篇:Promise对象学习笔记 Promise.prototype.catch() 看一个例子: var promise = new Promise(function(resolve, reject) { resolve('ok') setTimeout(function(){ throw ne
阅读全文
摘要:参考:阮一峰《ES6标准入门》(第3版)第14章 Promise对象 Promise的含义 Promise是异步编程的一种解决方案 一大波文字省略…… 基本用法 ES6规定,Promise对象是一个构造函数,用来生成Promise实例 一个简单的Promise实例: 1 // 创建一个Promise
阅读全文
摘要:Class基本语法 JavaScript语言的传统方法是通过构造函数,定义并生成新对象。 //定义一个构造函数 function Point(x, y) { this.x = x; this.y = y; } //在原型上添加构造函数的实例方法 Point.prototype.toString =
阅读全文
摘要:学习文档:MDN web docs —— JavaScript中的继承 目标:理解在JavaScript中如何实现继承。(其实看完了也不一定能理解,没关系,写篇笔记表示我学过) 1. 编写一个Person()构造器 function Person (first, last, age, gender,
阅读全文
摘要:_.pick(object, [props]) 创建一个从object中选中的属性的对象。 示例: var object = { 'a': 1, 'b': '2', 'c': 3 }; _.pick(object, ['a', 'c']); // => { 'a': 1, 'c': 3 } _.cl
阅读全文