• 优程
  • 简介
  • License
  • Why Angular 2?
  • ES6和TypeScript的特点
    • ES6
      • Classes
      • 回顾'this'
      • 箭头函数
      • 模板字符串
      • 继承
      • 委托
      • 常量和块作用域变量
      • 展开/剩余运算符
      • 解构赋值
      • 模块
    • TypeScript
      • TypeScript入门
      • 使用 tsc
      • 类型
      • Linting
      • TypeScript特性
      • TypeScript类
      • 接口
      • Shapes
      • 类型推断
      • 装饰器
      • 属性装饰器
      • 类装饰器
      • 参数装饰器
  • JavaScript工具链
    • 源码控制:Git
    • 命令行
    • JavaScript命令行:NodeJS
    • 后端代码共享和分发:npm
    • 模块加载,打包和构建任务:Webpack
    • Chrome
  • 引导Angular 2应用程序
    • 了解文件结构
    • 引导Providers
  • Angular2中的组件
    • 创建组件
    • 组件的应用程序结构
      • 将数据传递到组件
      • 响应组件事件
      • 使用双向数据绑定
      • 从模板访问子组件
    • 投影
    • 使用组件构建应用程序
    • 使用其他组件
  • 指令
    • 属性指令
      • NgStyle指令
      • NgClass指令
    • 结构指令
      • NgIf指令
      • NgFor指令
      • NgSwitch指令
      • 使用多个结构指令
  • 高级组件
    • 组件生命周期
    • 访问其他组件
    • 封装视图
    • ElementRef
  • Observable
    • 使用Observable
    • 错误处理
    • 处理订阅和释放资源
    • Observable VS Promise
    • 使用其他来源的Observable
    • 可观察数组操作
    • “冷” vs “热” Observable
    • 总结
  • Angular2依赖注入
    • 什么是DI?
    • DI框架
    • Angular2的DI
      • @Inject()和@Injectable
      • 类以外的注入🔨
      • 避免注入冲突: OpaqueToken
      • 注入树
  • Http
    • 发起请求
    • 捕获拒绝
      • 捕获和释放
      • 取消请求
      • 重试
    • 用flatMap搜索
    • 将请求转换为Promises
  • 变化检测
    • Angular1与Angular2的变化检测策略
    • 变化检测如何工作
    • 更改检测器类
    • 变更检测策略:OnPush
    • 强制不变性
    • 其他资源
  • Zone.js
    • 概述
    • Zone 传播
      • 跟踪异步操作
      • 异步操作补丁
    • 上下文环境
    • 拦截
  • Angular2进阶
    • 指令
      • 创建属性指令
        • 监听Host元素
        • 在指令中设置属性
      • 创建结构指令
        • 查看容器和嵌入视图
        • 向指令提供上下文变量
    • AoT
      • AoT局限
      • AoT配置
  • Immutable.js
    • 什么是不可变性?
    • 不变性的应用场景
    • JavaScript解决方案
      • Object.assign
      • Object.freeze
    • Immutable.js基础
      • Immutable.Map
        • Map.merge
      • 嵌套对象
        • 删除密钥
        • Map是可迭代的
      • Immutable.List
      • 性能和瞬态变化
      • 官方文件
  • 管道
    • 使用管道
    • 自定义管道
    • 状态管道
  • 表单
    • 入门
    • 模板驱动的表单
      • 嵌套表单数据
      • 使用模板模型绑定
      • 验证模板驱动的表单
    • 响应式/模型驱动的表单
      • 响应式表单基础
      • 验证响应式表单
      • 自定义验证响应式表单
    • 用户的视觉提示
  • 模块
    • 什么是Angular 2模块?
    • 将组件、管道和服务添加到模块
    • 创建功能模块
    • 指令复制
    • 延迟加载模块
    • 延迟加载和依赖注入树
    • 共享模块和依赖注入
    • 共享相同的依赖注入树
  • 路由
    • 为什么选择路由?
    • 配置路由
    • 将路由器重定向到另一条路由
    • 定义路由之间的链接
    • 动态添加路由组件
    • 使用路由参数
    • 定义子路由
    • 控制对路由的访问
    • 将可选参数传递给路由
    • 使用辅助路由
  • Redux 和 Ngrx
    • 回顾 Reducers 和纯函数
    • Reducers 的 State 管理
    • Redux Actions
    • 配置应用以使用Redux
    • 使用 Redux 与 Components
    • Redux和组件架构
    • 更多Redux和Ngrx资源
  • TDD测试
    • 测试工具链
    • 测试设置
      • 文件名约定
      • Karma配置
      • TestBed配置(可选)
      • 类型
      • 执行测试脚本
    • 简单测试
    • 使用Chai
    • 测试组件
      • 检验方法和属性
      • 注入依赖和DOM更改
        • 覆盖测试的组件
      • 测试异步操作
      • 重构难以测试的代码
    • 测试服务
      • 服务测试策略
      • 测试HTTP请求
        • 使用MockBackend
        • 替代HTTP Mock策略
        • 测试JSONP和XHR后端
      • 异步执行测试
    • 测试Redux
      • 测试简单的Action
      • 测试复杂的Action
      • 测试Reducers
      • Afterthoughts
  • 将Angular1.x项目迁移到Angular 2
    • 迁移准备
      • 升级到 Angular 1.3+ 风格
      • 使用 Webpack
      • 迁移到 TypeScript
    • 选择升级途径
    • 避免全面转换
  • 项目设置
    • Webpack
      • 安装和使用
      • Loaders
      • 插件
      • 概要
    • NPM脚本集成
  • Angular CLI
    • 创建
    • 创建新应用程序
    • 启动应用
    • 创建组件
    • 创建路由
    • 创建其他东西
    • 测试
    • Linting
    • CLI命令概述
    • 添加第三方库
    • 集成现有应用程序
  • Angular2中的无障碍
    • 为什么需要无障碍
  • Angular2中的国际化
    • 过程什么样的,如何参与?
    • 在我们的模板中标记文字
    • 使用Angular CLI提取翻译文本
    • 如何导入已完成的翻译文件
      • 使用AoT编译器
      • 使用JiT编译器
  • 词汇表
  • 进一步阅读和参考
  • Published with GitBook

其他资源

其他资源

要了解有关变更检测的详情,请访问以下链接(按相关性顺序):

  • NgConf 2014: Change Detection (Video)
  • Angular API Docs: ChangeDetectionStrategy
  • Victor Savkin Blog: Change Detection in Angular 2
  • Victor Savkin Blog: Two Phases of Angular 2 Applications
  • Victor Savkin Blog: Angular, Immutability and Encapsulation

results matching ""

    No results matching ""