{"id":14973198,"url":"https://github.com/deepthan/blog-angular","last_synced_at":"2025-08-31T14:33:32.615Z","repository":{"id":27632500,"uuid":"109805616","full_name":"deepthan/blog-angular","owner":"deepthan","description":"Angular 笔记","archived":false,"fork":false,"pushed_at":"2022-12-09T00:00:29.000Z","size":10634,"stargazers_count":283,"open_issues_count":158,"forks_count":56,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-20T02:02:31.501Z","etag":null,"topics":["angular-cli","angular2","angular8","blog","rxjs","typescript"],"latest_commit_sha":null,"homepage":"","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deepthan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-07T08:12:08.000Z","updated_at":"2025-01-31T04:23:20.000Z","dependencies_parsed_at":"2022-07-09T10:46:09.162Z","dependency_job_id":null,"html_url":"https://github.com/deepthan/blog-angular","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deepthan/blog-angular","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepthan%2Fblog-angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepthan%2Fblog-angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepthan%2Fblog-angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepthan%2Fblog-angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deepthan","download_url":"https://codeload.github.com/deepthan/blog-angular/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deepthan%2Fblog-angular/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272991564,"owners_count":25027456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular-cli","angular2","angular8","blog","rxjs","typescript"],"created_at":"2024-09-24T13:48:21.439Z","updated_at":"2025-08-31T14:33:32.571Z","avatar_url":"https://github.com/deepthan.png","language":"SCSS","readme":"\u003cimg src=\"https://angular.io/assets/images/logos/angular/angular.svg\" width=\"240\"\u003e\n\n##### 目前版本:\n![version](https://img.shields.io/npm/v/@angular/core.svg?maxAge=2592000)\n\nAngular回忆录\n ===========================\n 一个关于Angular的学习和使用笔记。\n \n \u003e 希望可以帮到你，也希望有更多人使用Angular~\n\n|Author|deepthan|\n|---|---\n|E-mail|deepthan@163.com\n\n### 概念理解\n- [Angular必知八大概念](https://github.com/deepthan/blog-angular/issues/48)\n- [angularjs与angular概念区分](https://github.com/deepthan/blog-angular/issues/1)\n- [白话Angular词汇](https://github.com/deepthan/blog-angular/issues/7)\n- [AOT 编译介绍](https://github.com/deepthan/blog-angular/issues/8)\n\n### 脚手架 Angular cli \n- [cli 用法](https://github.com/deepthan/blog-angular/issues/49)\n- [proxy 配置](https://github.com/deepthan/blog-angular/issues/50)\n\n### 装饰器@\n- [class装饰器](https://github.com/deepthan/blog-angular/issues/51)\n- [viewChild](https://github.com/deepthan/blog-angular/issues/52)\n\n### 路由 router\n- [RouterLink](https://github.com/deepthan/blog-angular/issues/53)\n- [navigateByUrl vs navigate](https://github.com/deepthan/blog-angular/issues/54)\n- [routerLink和routerLinkActive动态传参](https://github.com/deepthan/blog-angular/issues/46)\n- [Routes介绍](https://github.com/deepthan/blog-angular/issues/55)\n- [路由高亮--长明灯RouterLinkActive](https://github.com/deepthan/blog-angular/issues/56)\n- [路由守卫，拦截懒加载，拦截预加载，离开验证](https://github.com/deepthan/blog-angular/issues/57)\n- [预加载](https://github.com/deepthan/blog-angular/issues/4)\n- [Angular2+去除url中的#](https://github.com/deepthan/blog-angular/issues/5)\n- [获取当前路由](https://github.com/deepthan/blog-angular/issues/58)\n\n### 组件 Component\n- [组件的生命周期](https://github.com/deepthan/blog-angular/issues/59)\n- [组件间通信](https://github.com/deepthan/blog-angular/issues/60)\n- [动态组件](https://github.com/deepthan/blog-angular/issues/61)\n- [angular如何主动销毁组件](https://github.com/deepthan/blog-angular/issues/62)\n- [组件监听传过来值变化的若干姿势](https://github.com/deepthan/blog-angular/issues/63)\n- [如何将字符串的html渲染到dom元素中](https://github.com/deepthan/blog-angular/issues/64)\n- [Angular 2+模板语法](https://github.com/kittencup/angular2-ama-cn/issues/64)\n- [如何重新渲染组件](https://stackoverflow.com/a/35106069/10394361)\n\n### 指令 Directive\n- [ngIf](https://github.com/deepthan/blog-angular/issues/66)\n- [ngFor](https://github.com/deepthan/blog-angular/issues/67)\n- [ngSwitch](ngSwitch)\n- [ngClass](https://github.com/deepthan/blog-angular/issues/69)\n- [ngStyle](https://github.com/deepthan/blog-angular/issues/70)\n- [ng-template](https://github.com/deepthan/blog-angular/issues/71)\n- [ng-content](https://github.com/deepthan/blog-angular/issues/72)\n- [ng-container vs ngTemplateOutlet](https://github.com/deepthan/blog-angular/issues/73)\n- [NgTemplateOutlet](https://github.com/deepthan/blog-angular/issues/74)\n- [Angular如何自定义指令](https://github.com/deepthan/blog-angular/issues/75)\n- [如何根据条件决定是否添加指令](https://github.com/deepthan/blog-angular/issues/76)\n- [一个文件中同一段html被多次用到怎么抽离](https://github.com/deepthan/blog-angular/issues/77)\n- [ngPreserveWhitespaces和NgNonBindable](http://www.ngbeijing.cn/2018/08/27/2018-8-27-ngPreserveWhitespaces-NgNonbindable/)\n\n### 管道 Pipe\n- [DecimalPipe](https://github.com/deepthan/blog-angular/issues/80)\n- [AsyncPipe](https://github.com/deepthan/blog-angular/issues/81)\n- [如何写一个日期转换管道](https://github.com/deepthan/blog-angular/issues/82)\n- [如何自定义管道](https://github.com/deepthan/blog-angular/issues/83)\n- [如何让字符串的dom元素渲染到页面上](https://github.com/deepthan/blog-angular/issues/84)\n\n### 动画\n- [trigger](https://github.com/deepthan/blog-angular/issues/18)\n- [state](https://github.com/deepthan/blog-angular/issues/19)\n- [transition](https://github.com/deepthan/blog-angular/issues/20)\n- [animate](https://github.com/deepthan/blog-angular/issues/21)\n- [style](https://github.com/deepthan/blog-angular/issues/22)\n- [keyframes](https://github.com/deepthan/blog-angular/issues/23)\n- [query](https://github.com/deepthan/blog-angular/issues/24)\n- [sequence](https://github.com/deepthan/blog-angular/issues/25)\n- [group](https://github.com/deepthan/blog-angular/issues/27)\n- [AnimationOptions](https://github.com/deepthan/blog-angular/issues/28)\n- [Web Animations API](https://drafts.csswg.org/web-animations/) ： Angular动画基准\n\n\n### DOM\n- [Angular如何操作DOM](https://github.com/deepthan/blog-angular/issues/9)\n- [Angular如何获取dom节点](https://github.com/deepthan/blog-angular/issues/85)\n- [Angular中其实你不需要直接操作DOM](https://github.com/deepthan/blog-angular/issues/17)\n\n\n### 事件\n- [html事件写法](https://github.com/deepthan/blog-angular/issues/89)\n- [js添加事件监听](https://github.com/deepthan/blog-angular/issues/90)\n- [如何监听变量变化](https://github.com/deepthan/blog-angular/issues/91)\n- [拖动和点击同时触发解决办法](https://github.com/deepthan/blog-angular/issues/92)\n\n### 表单表格\n- [获取表单的值](https://github.com/deepthan/blog-angular/issues/93)\n- [设置表单值 FormControl setValue](https://github.com/deepthan/blog-angular/issues/94)\n- [如何禁用表单](https://github.com/deepthan/blog-angular/issues/95)\n- [如何提取table中tr为组件](https://github.com/deepthan/blog-angular/issues/96)\n- [Angular 2, NgModel and Custom Form Components](https://rangle.io/blog/angular-2-ngmodel-and-custom-form-components/)\n- [How to create custom input component with ngModel working in angular?](https://stackoverflow.com/questions/50618050/how-to-create-custom-input-component-with-ngmodel-working-in-angular-6)\n- [never-again-be-confused-when-implementing-controlvalueaccessor-in-angular-forms](https://indepth.dev/never-again-be-confused-when-implementing-controlvalueaccessor-in-angular-forms/)\n\n### 安全 Security \n- [Angular 安全管道使用方法](https://github.com/deepthan/blog-angular/issues/97)\n\n### 变化检测\n- [edu-angular-change-detection](https://danielwiehl.github.io/edu-angular-change-detection/) : 图形化地显示变化过程\n- [Angular：单向数据流](https://limeii.github.io/2019/06/angular-unidirectional-data-flow/)\n- [Angular Change Detection：变化检测机制](https://limeii.github.io/2019/06/angular-changedetection/)\n- [ngular Change Detection：变化检测策略](https://limeii.github.io/2019/06/angular-changeDetectionStrategy-OnPush/)\n- [Angular变化检测机制：改善的脏检查](https://wufenfen.github.io/2017/07/15/Angular%E5%8F%98%E5%8C%96%E6%A3%80%E6%B5%8B%E6%9C%BA%E5%88%B6%EF%BC%9A%E6%94%B9%E5%96%84%E7%9A%84%E8%84%8F%E6%A3%80%E6%9F%A5/)\n- [[译] 你真的知道 Angular 单向数据流吗](https://segmentfault.com/a/1190000013965691)\n- [Angular DOM 更新机制](https://zhuanlan.zhihu.com/p/96640047)\n- [10 Things Every Angular Developer Should Know About Zone.js](https://medium.com/better-programming/zone-js-for-angular-devs-573d89bbb890)\n- [Understanding Zones](https://blog.thoughtram.io/angular/2016/01/22/understanding-zones.html)\n- [Angular Elements without Zone.Js](https://www.angulararchitects.io/aktuelles/angular-elements-part-iii/)\n- [How Angular uses NgZone/Zone.js for Dirty Checking](https://blog.bitsrc.io/how-angular-uses-ngzone-zone-js-for-dirty-checking-faa12f98cd49)\n\n### 配置文件\n- [环境配置](https://github.com/deepthan/blog-angular/issues/2)\n- [Angular热替换（cli \u0026 webpack）](https://github.com/deepthan/blog-angular/issues/43)\n- [package.json里‘’^ ~“符号的意思](https://github.com/deepthan/blog-angular/issues/29)\n- [tsconfig.json编译选项](https://github.com/deepthan/blog-angular/issues/98)\n\n\n### 摇树优化 tree shaking\n- [Angular性能优化：Tree Shaking](https://limeii.github.io/2019/08/angular-tree-shaking/)\n- [Webpack Tree shaking 深入探究](https://juejin.im/post/5bb8ef58f265da0a972e3434)\n- [Build a Tree-Shaking Utility in JavaScript](https://blog.bitsrc.io/build-a-tree-shaking-utility-in-javascript-c6b13e469121)\n\n\n### 兼容性\n- [如何兼容IE](https://github.com/jiayisheji/blog/issues/22)\n\n### 打包优化\n- [一招让Angular-cli速度增强](https://github.com/jiayisheji/blog/issues/22)\n- [How to speed up the Angular build process](https://stackoverflow.com/a/45245580/10394361)\n- [AOT build fails due to \"JavaScript heap out of memory\"](https://github.com/angular/angular-cli/issues/5618#issuecomment-431653364)\n\n### 第三方库集成\n- [augury: ](https://github.com/deepthan/blog-angular/issues/99): Angular调试和可视化工具\n- [集成富文本编辑器 tinymce](https://github.com/deepthan/blog-angular/issues/100)\n- [tinymce使用方法和踩坑指南](https://github.com/deepthan/blog-angular/issues/101)\n- [国际化集成ngx-translate](https://github.com/deepthan/blog-angular/issues/102)\n- [集成echart](https://github.com/deepthan/blog-angular/issues/103)\n- [集成font-awesome](https://github.com/deepthan/blog-angular/issues/104)\n- [集成ng-zorro-antd](https://github.com/deepthan/blog-angular/issues/105)\n- [集成push.js](https://github.com/deepthan/blog-angular/issues/106)\n- [集成提示框](https://github.com/deepthan/blog-angular/issues/107)\n- [集成预览表格内容js-xlsx](https://github.com/deepthan/blog-angular/issues/108)\n\n### 代码规范\n- [angular项目如何做代码格式规范](https://github.com/deepthan/blog-angular/issues/113)\n- [tslint规则](https://github.com/deepthan/blog-angular/issues/110)\n- [TSLint 和 Codelyzer 核心规则](https://github.com/deepthan/blog-angular/issues/109)\n- [Prettier](https://github.com/deepthan/blog-angular/issues/111)\n- [prettier-vscode](https://github.com/deepthan/blog-angular/issues/112)\n\n\n### Angualr CDK\n- [Angular cdk如何做一个以父元素为基准的绝对定位](https://github.com/deepthan/blog-angular/issues/114)\n- [虚拟滚动例子](https://github.com/deepthan/blog-angular/issues/115)\n- [虚拟列表的一般实现](https://github.com/deepthan/blog-angular/issues/116)\n- [ConnectionPositionPair](https://github.com/deepthan/blog-angular/issues/117)\n- [拖拽](https://material.angular.io/cdk/drag-drop/examples)\n- [CDK系列教程](https://www.jianshu.com/p/4885b1a4c0c9)\n\n### npm 包开发\n- [使用 ng-packagr开发npm包](https://github.com/ng-packagr/ng-packagr)\n- [打包遇到的坑](https://github.com/deepthan/blog-angular/issues/121)\n- [安装system](https://github.com/deepthan/blog-angular/issues/122)\n\n### 开发中报错解决\n- [ No NgModule metadata found for 'AppModule'.](https://github.com/deepthan/blog-angular/issues/123)\n- [ No value accessor for form control with name xxx](https://github.com/deepthan/blog-angular/issues/124)\n- [Can't bind to 'ngModel' since it isn't a known property of 'input'.](https://github.com/deepthan/blog-angular/issues/125)\n- [No provider for ChildrenOutletContexts (injectionError)](https://github.com/deepthan/blog-angular/issues/126)\n- [RangeError Maximum call stack size exceeded 最大调用堆栈大小超出](https://github.com/deepthan/blog-angular/issues/127)\n- [ngIf的时候报No provider for TemplateRef!](https://github.com/deepthan/blog-angular/issues/128)\n- [ngular TypeError “remove”TypeError 无法获取未定义或 null 引用的属性“remove”](https://github.com/deepthan/blog-angular/issues/129)\n- [sockjs-node请求报 400](https://github.com/deepthan/blog-angular/issues/130)\n- [typescript getting error TS2304 cannot find name ' require'](https://github.com/deepthan/blog-angular/issues/131)\n- [本地运行不报错但是打包到服务器报不知名错误](https://github.com/deepthan/blog-angular/issues/132)\n- [打包报错,内存不够或溢出](https://github.com/deepthan/blog-angular/issues/133)\n- [关于npm的错误](https://github.com/deepthan/blog-angular/issues/134)\n- [关于function 、lambda、not supported等](https://github.com/deepthan/blog-angular/issues/30)\n- [关于polyfills.ts、'es5-shim'、'es6-shim'](https://github.com/deepthan/blog-angular/issues/31)\n- [关于Observable、map的问题](https://github.com/deepthan/blog-angular/issues/32)\n- [关于'Http' is not assignable to parameter of type 'Http' ](https://github.com/deepthan/blog-angular/issues/33)\n- [关于找不到模块](https://github.com/deepthan/blog-angular/issues/34)\n- [Can't bind to 'formGroup' since it isn't a known property of 'form'](https://github.com/deepthan/blog-angular/issues/35)\n- [ERROR in Error: Debug Failure. False expression.](https://github.com/deepthan/blog-angular/issues/36)\n- [关于node-sass里面 vendor 缺失](https://github.com/deepthan/blog-angular/issues/38)\n- [关于phantormjs](https://github.com/deepthan/blog-angular/issues/39)\n- [关于找不到 require或者module](https://github.com/deepthan/blog-angular/issues/40)\n\n\n### 单元测试 Unit Test\n- [单元测试方法](https://github.com/deepthan/blog-angular/issues/142)\n- [单元测试案例](https://github.com/deepthan/blog-angular/issues/143)\n\n###  端到端测试 E2E\n- [Angular e2e 介绍](https://github.com/deepthan/blog-angular/issues/144)\n- [E2E测试](https://github.com/deepthan/blog-angular/issues/145)\n- [E2E报错](https://github.com/deepthan/blog-angular/issues/146)\n- [protractor-styleguide](https://github.com/CarmenPopoviciu/protractor-styleguide) : 编码风格指南\n- [protractortest 官网](http://www.protractortest.org/#/)\n- [tutorial](http://www.protractortest.org/#/tutorial) : E2E教学\n- [Protractor API ](http://www.protractortest.org/#/api?view=webdriver.By.className)\n- [introduction-to-e2e-testing-with-the-angular-cli-and-protractor](https://coryrylan.com/blog/introduction-to-e2e-testing-with-the-angular-cli-and-protractor)：Cory Rylan写的E2E指导\n- [ng-pokedex](https://github.com/coryrylan/ng-pokedex): Cory Rylan写的E2E配套案例项目\n- [End to End(E2E) Tests in Angular Application Using Protractor](https://medium.com/medialesson/end-to-end-e2e-tests-in-angular-application-using-protractor-3fd2501bb3c0)\n- [Automate End to end (e2e) testing for Angular 7 using Protractor \u0026 Jasmine](https://medium.com/@dhormale/automate-end-to-end-e2e-testing-for-angular-7-using-protractor-jasmine-4ce171aaeedc)\n\n### Angular 升级\n- [Angular 8新增了哪些功能](https://github.com/deepthan/blog-angular/issues/147)\n- [升级angualr8项目需要做的更改](https://github.com/deepthan/blog-angular/issues/148)\n- [A版本到B版本需要修改哪些](https://angular-update-guide.firebaseapp.com/)\n- [Angular更新日志](https://github.com/angular/angular/blob/master/CHANGELOG.md)\n- [弃用的 API 和特性](https://angular.cn/guide/deprecations)\n- [ng-zorro-antd更新日志](https://ng.ant.design/docs/changelog/zh)\n\n### 服务端渲染\n- [官网universal](https://angular.cn/guide/universal)\n- [Server Side Rendering with Angular Universal](https://www.digitalocean.com/community/tutorials/angular-angular-universal)\n\n### 实用技巧\n- [hidden属性](https://github.com/deepthan/blog-angular/issues/149)\n- [获取document、window](https://github.com/deepthan/blog-angular/issues/150)\n- [包的加载速度优化](https://github.com/deepthan/blog-angular/issues/151)\n- [如何覆盖第三方库css](https://github.com/deepthan/blog-angular/issues/152)\n- [如何换个端口启动项目？](https://github.com/deepthan/blog-angular/issues/153)\n- [如何让别人可以访问自己本地启动的服务](https://github.com/deepthan/blog-angular/issues/154)\n- [项目中引入图片之类静态资源文件方法](https://github.com/deepthan/blog-angular/issues/155)\n- [在页面打印出json对象](https://github.com/deepthan/blog-angular/issues/156)\n- [github上搜索angular的正确姿势](https://github.com/search?utf8=%E2%9C%93\u0026q=topic:angular\u0026type=Repositories\u0026ref=searchresults)\n- [how-to-use-angular-console](https://auth0.com/blog/how-to-use-angular-console/)\n- [48-answers-on-stack-overflow-to-the-most-popular-angular-questions](https://www.freecodecamp.org/news/48-answers-on-stack-overflow-to-the-most-popular-angular-questions-52f9eb430ab0/)\n\n\n### 好用的vscode 插件\n- [vscode插件](https://github.com/deepthan/blog-angular/issues/47)\n\n### 好用的工具\n- [网页性能分析](https://sq.163yun.com/blog/article/188103475918028800)\n- [caniuse.com](https://caniuse.com/#feat=css-transitions) ： 查询兼容性\n- [abbreviations](https://www.abbreviations.com/abbreviation/emergency) ： 查询单词缩写，妈妈再也不担心我写出魔鬼缩写了。\n- [代码示例网站 stackblitz](https://stackblitz.com/edit/ngx-validate?file=src%2Fapp%2Fcomponents%2Fapp.component.html)\n- [代码示例网站 jshare](https://jshare.com.cn/hcharts.cn/epC8wG)\n- [json转换](https://www.json.cn/#)\n- [axure](https://www.axure.com/) : 原型工具\n- [在线加密解密](https://tool.oschina.net/encrypt?type=3)\n\n\n## Angular及相关技术网站\n### Angular\n- Angular 官网：[中文文档](https://www.angular.cn/)  | [英文文档](https://angular.io/) | [github](https://github.com/angular/angular)\n- Angular 脚手架：[中文官网](https://angular.cn/cli) | [github](https://github.com/angular/angular-cli)\n- Angular cdk：[中文](https://material.angular.cn/cdk/categories) | [英文](https://material.angular.cn/cdk/drag-drop/overview) \n- [ngrx](https://ngrx.io/) : Angular状态管理\n- [手把手教你用ngrx管理Angular状态](https://github.com/fezaoduke/TranslationInstitute/blob/master/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0%E7%94%A8ngrx%E7%AE%A1%E7%90%86Angular%E7%8A%B6%E6%80%81.md)\n- [Angular Console — The UI for the Angular CLI](https://blog.nrwl.io/angular-console-the-ui-for-the-angular-cli-a5d0924240b7) : Angular界面化操作\n- [bit](https://github.com/teambit/bit)\n\n\n### Typescript\n- [官网](https://www.typescriptlang.org/index.html)\n- [Typescript入门教程](https://ts.xcatliu.com/advanced/tuple) : 较为系统，推荐学习下\n\n\n### rxjs\n- rxjs5 基本原理 : [中文官网](https://rxjs-cn.github.io/rxjs5-ultimate-cn) | [英文官网](https://www.gitbook.com/book/chrisnoring/rxjs-5-ultimate/details)\n- [rxjs实战](https://github.com/lizhonghui/blog/issues/6)\n- [rxjs 优质翻译文章](https://github.com/RxJS-CN/rxjs-articles-translation)\n- 官方中文文档操作符篇 : [中文](http://cn.rx.js.org/class/es6/Observable.js~Observable.html) | [英文](http://reactivex.io/rxjs/)\n- [学习 rxjs 操作符](https://rxjs-cn.github.io/learn-rxjs-operators/)\n- [词汇表](https://github.com/RxJS-CN/RxJS-Docs-CN/wiki/RxJS-%E8%AF%8D%E6%B1%87%E8%A1%A8)\n- [构建流式应用—RxJS详解](http://www.alloyteam.com/2016/12/learn-rxjs/)\n- [官方出品--rxjs视频教学（英）](https://egghead.io/lessons/rxjs-rxjs-observables-vs-promises)\n\n### Angular 教程\n\n- [ Angular 2 之一 系统架构](http://www.angularjs.cn/A2uA) : 偏基础 \n- [angular-university](https://angular-university.io/home)\n- [Angular 2 Training 中文版](https://zhangchen915.gitbooks.io/angular2-training/content/content/vs_react.html)\n- [Angular 4.x 修仙之路](https://segmentfault.com/a/1190000008754631?t=1232145435) : 质量较高的系列教程\n-  [Angular 2.x 从0到1](https://github.com/wpcfan/awesome-tutorials/blob/master/angular2/ng2-tut/README.md) : 现已成书\n- [limeii Angular 博客](https://limeii.github.io/#blog)： 国内女性Angular开发者，写的内容挺好\n-  [Angular 2入门](http://www.hubwiz.com/course/5599d367a164dd0d75929c76/) : 汇智网的视频教学\n-  [angular-education](https://github.com/timjacobi/angular-education) : 学习资源汇总\n- [Angular 大師之路](https://ithelp.ithome.com.tw/users/20020617/ironman/1630)\n- [ultimatecourses.com](https://ultimatecourses.com/blog/category/angular/)\n- [appdividend.com](https://appdividend.com/category/angular/)\n- [medium.com](https://medium.com/search?q=angular) : 里面很多高质量博客\n- [learnangularjs.net](http://www.learnangularjs.net/)\n\n\n\n### Angular案例项目\n-  [angular-starter](https://github.com/gdi2290/angular-starter) ： 用webpack配置的angular项目，带有很多功能\n-  [ng-alain](https://github.com/cipchk/ng-alain) :ng-zorro的维护者开源的一个后台管理系统\n-  [ngx-admin](https://github.com/akveo/ngx-admin)\n\n### UI库\n-  [ng-zorro-antd]()：阿里开源的 ant design风格的UI库，功能较全。\n-  [ngx-bootstrap](https://github.com/valor-software/ngx-bootstrap)：angular版本bootsrap库\n-  [Angular Material](https://material.angular.io/components/categories)：Angular团队开源的组件库，功能不够强大，需要二次封装\n-  [PrimeNG](https://www.primefaces.org/primeng/#/)\n-  [FreeNG](https://github.com/valor-software/ngx-bootstrap) \n- [angular-grid](https://angular-grid.ag-grid.com/?utm_source=medium\u0026utm_medium=blog\u0026utm_campaign=angularcustom) : Angular 表格\n- [ng-devui](https://github.com/DevCloudFE/ng-devui) : 华为云DevCloud，基于Angular的企业级前端组件库\n\n### Angular 开发者大会\n- [2019 ngChina 开发者大会](https://ng-china.org/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepthan%2Fblog-angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeepthan%2Fblog-angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeepthan%2Fblog-angular/lists"}