目录
- Angular 中文文档
- 快速起步
- Overview 概览
- Build this application! 构建此应用!
- Prerequisite: Install Node.js and npm 环境准备:安装 Node.js and npm
- Step 1: Create and configure the project 步骤 1:创建并配置本项目
- Create the project folder 创建项目目录
- Create configuration files 创建配置文件
- Install packages 安装依赖包
- Step 2: Create your application 步骤 2:创建应用
- Step 3: Create a component and add it to your application 步骤 3:创建组件并添加到应用中
- Step 4: Start up your application 步骤 4:启动应用
- Step 5: Define the web page that hosts the application 步骤 5:定义该应用的宿主页面
- Add some style 添加一些样式
- Step 6: Build and run the application 步骤 6: 编译并运行应用程序
- Step 7: Make some live changes 步骤 7:做一些即时修改
- Wrap up and next steps 收工,下一步
- What next? 下一步干什么?
- 开发指南
- 文档概览
- 架构概览
- 显示数据
- Contents 目录
- Showing component properties with interpolation 使用插值表达式显示组件属性
- Template inline or template file? 内联(inline) 模板还是模板文件?
- Constructor or variable initialization? 初始化:使用构造函数还是变量?
- Showing an array property with *ngFor 使用 ngFor 显示数组属性
- Creating a class for the data 为数据创建一个类
- Using the Hero class 使用 Hero 类
- Conditional display with NgIf 通过 NgIf 进行条件显示
- Summary 小结
- 用户输入
- 表单
- Template-Driven Forms 模板驱动的表单
- Setup 搭建
- Create the Hero Model Class 创建一个 Hero 模型类
- Create a Form component 创建一个表单组件
- Revise the app.module.ts 修改 app.module.ts*
- Revise the app.component.ts 修改 app.component.ts 文件
- Create an initial HTML Form Template 创建一个初始 HTML 表单模板
- Add Powers with *ngFor 用 ngFor 添加超能力
- Two-way data binding with ngModel 使用 ngModel 进行双向数据绑定
- Track change-state and validity with ngModel 通过 ngModel 跟踪修改状态与有效性验证
- Add Custom CSS for Visual Feedback 添加自定义 CSS,以提供视觉反馈
- Show and Hide Validation Error messages 显示和隐藏有效性校验的错误信息
- Add a hero and reset the form 添加一个英雄,并且重置表单
- Submit the form with ngSubmit 通过 ngSubmit 来提交表单
- Toggle two form regions (extra credit) 切换两个表单区域(额外的荣誉)
- Conclusion 结论
- 依赖注入
- Why dependency injection? 为什么需要依赖注入?
- Angular dependency injection Angular 依赖注入
- Creating and registering a logger service 创建和注册日志服务
- Injector providers 注入器的提供商们
- Dependency injection tokens 依赖注入令牌
- Optional dependencies 可选依赖
- Summary 总结
- Appendix: Working with injectors directly 附录:直接使用注入器工作
- Appendix: Why we recommend one class per file 附录:为什么我们建议每个文件只放一个类
- 模板语法
- HTML HTML
- My First Angular App
- Interpolation 插值表达式
- Template expressions 模板表达式
- Template statements 模板语句
- Binding syntax: An overview 绑定语法:概览
- Property binding 属性绑定
- Attribute, Class, and Style Bindings Attribute、Class 和 Style 绑定
- Event binding 事件绑定
- Two-way binding with NgModel 使用 NgModel 进行双向数据绑定
- Built-in directives 内置指令
- * and <template> * 与<template>
- Template reference variables 模板引用变量
- Input and output properties 输入与输出属性
- Template expression operators 模板表达式操作符
- Summary 小结
- Angular 小抄
- 风格指南
- 词汇表
- Angular Glossary Angular 词汇表
- Ahead-of-time (AoT) compilation Ahead of Time (AOT) 预编译
- Angular module Angular 模块
- Annotation 注解(Annotation)
- Attribute directive 属性型指令(Attribute Directive)
- Barrel 封装桶(Barrel)
- Binding 绑定(Binding)
- Bootstrap 启动/引导(Bootstrap)
- camelCase 驼峰式命名法(camelCase)
- Component 组件(Component)
- dash-case 中线命名法(dash-case)
- Data binding 数据绑定(Data Binding)
- Decorator | decoration 装饰器(Decorator | Decoration)
- Dependency injection 依赖注入(Dependency Injection)
- Directive 指令(Directive)
- ECMAScript
- ES 2015 ES 2015
- ES6
- ES5
- Injector 注入器(Injector)
- Input 输入属性(Input)
- Interpolation 插值表达式(Interpolation)
- Just-in-time (JiT) compilation 即时(Just-in-time (JiT)) 编译
- kebab-case 烤串命名法(kebab-case)
- Lifecycle hooks 生命周期钩子(Lifecycle Hook)
- Module 模块(Module)
- Observable Observable
- Output 输出属性(Output)
- PascalCase Pascal 命名法(PascalCase)
- Pipe 管道(Pipe)
- Provider 提供商(Provider)
- Reactive forms 动态表格(Reactive Forms)
- Router 路由器(Router)
- Router module
- Routing component 路由组件(Routing Component)
- Scoped package 范围化包(Scoped Package)
- snake_case 下划线命名法(蛇形命名法)
- Service 服务
- Structural directive 结构型指令(Structural Directive)
- Template 模板(Template)
- Template-driven forms 模板驱动表单
- Template expression 模板表达式(Template Expression)
- Transpile 转译(Transpile)
- TypeScript
- View 视图(View)
- Zones 区域(Zones)
- 教程
- 简介
- 英雄编辑器
- 主从结构
- 多个组件
- 服务
- 路由
- Routing Around the App 应用中的路由
- Where We Left Off 我们在哪
- Action plan 行动计划
- Splitting the AppComponent 拆分 AppComponent
- Create AppComponent 创建 AppComponent
- Add Routing 添加路由
- Add a Dashboard 添加一个 仪表盘
- Dashboard Top Heroes 仪表盘上的顶级英雄
- Navigate to Hero Details 导航到英雄详情
- Revise the HeroDetailComponent 修改 HeroDetailComponent
- Select a Dashboard Hero 选择一个 仪表盘 中的英雄
- Select a Hero in the HeroesComponent 在 HeroesComponent 中选择一位英雄
- Styling the App 美化本应用
- Application structure and code 应用结构和代码
- Recap 总结
- HTTP
- 高级文档
- Angular 模块(NgModule)
- Table of Contents 目录
- Angular Modularity Angular 模块化
- AppModule - the application root module AppModule - 应用的根模块
- Bootstrapping in main.ts 在 main.ts 中引导
- Declare directives and components 声明指令和组件
- Service Providers 服务提供商
- Import supporting modules 导入“支持模块”
- Resolve directive conflicts 解决指令冲突
- Feature Modules 特性模块
- Lazy loading modules with the Router 用路由器实现延迟(Lazy)加载
- Shared modules 共享模块
- The Core module 核心(Core)模块
- Cleanup 清理
- Configure core services with CoreModule.forRoot 用 CoreModule.forRoot 配置核心服务
- Prevent reimport of the CoreModule 禁止多次导入 CoreModule
- 动画
- Contents 目录
- Quickstart example: Transitioning between two states 快速起步范例:在两个状态间转场
- States and transitions 状态与转场
- Example: Entering and leaving 例子:进场与离场
- Example: Entering and leaving from different states 范例:从不同的状态下进场和离场
- Animatable properties and units 可动的(Animatable) 属性与单位
- Automatic property calculation 自动属性值计算
- Animation timing 动画时间线
- Multi-step animations with keyframes 基于关键帧(Keyframes) 的多阶段动画
- Parallel animation groups 并行动画组(Group)
- Animation callbacks 动画回调
- 属性型指令
- 浏览器支持
- 组件样式
- Table Of Contents 目录
- Using Component Styles 使用组件样式
- Special selectors 特殊的选择器
- Loading Styles into Components 把样式加载进组件中
- Controlling View Encapsulation: Native, Emulated, and None 控制视图的包装模式:原生(Native),仿真(Emulated) 和无(None)
- Appendix 1: Inspecting The CSS Generated in Emulated View Encapsulation 附录 1:查看仿真(Emulated) 模式下生成的 CSS
- Appendix 2: Loading Styles with Relative URLs 附录 2:使用相对 URL 加载样式
- 多级依赖注入器
- The Injector Tree 注入器树
- Component Injectors 组件注入器
- HTTP 客户端
- Demos 演示
- Providing HTTP Services 提供 HTTP 服务
- The Tour of Heroes HTTP Client Demo 《英雄指南》的 HTTP 客户端演示
- The HeroListComponent class HeroListComponent 类
- Fetch data with the HeroService 通过 HeroService 获取数据
- RxJS Library RxJS 库
- Process the response object 处理 Response 响应对象
- Send data to the server 往服务器发送数据
- Fall back to Promises 倒退为承诺(Promise)
- Cross-origin requests: Wikipedia example 跨域请求:Wikipedia 范例
- Our wasteful app 奢侈的应用程序
- More fun with Observables Observable 的更多乐趣
- Appendix: Tour of Heroes in-memory server 附录:《英雄指南》的内存(in-memory) 服务器
- 生命周期钩子
- Component Lifecycle 组件生命周期
- Table of Contents 目录
- Component lifecycle Hooks 组件生命周期钩子
- Lifecycle sequence 生命周期的顺序
- Interface are optional (technically) 接口是可选的(理论上)?
- Other lifecycle hooks 其它生命周期钩子
- Lifecycle exercises 生命周期练习
- Peek-a-boo: all hooks Peek-a-boo:全部钩子
- Spying OnInit and OnDestroy 窥探 OnInit 和 OnDestroy
- OnChanges
- DoCheck
- AfterView
- AfterContent
- Npm 包
- 管道
- Using Pipes 使用管道
- Built-in pipes 内置的管道
- Parameterizing a Pipe 对管道进行参数化
- Chaining pipes 链式管道
- Custom Pipes 自定义管道
- Power Boost Calculator (extra-credit) 能力倍增计算器(加分项)
- Pipes and Change Detection 管道与变更检测
- Pure and Impure Pipes 纯(pure) 管道与非纯(impure) 管道
- Next Steps 下一步
- No FilterPipe or OrderByPipe 没有 FilterPipe 或者 OrderByPipe
- 路由与导航
- Overview 概览
- The Basics 基础知识
- The Sample Application 范例应用
- Milestone #1: Getting Started with the Router 里程碑#1:从路由器开始
- Milestone #2: The Heroes Feature 里程碑 #2 英雄特征区
- Milestone #3: The Crisis Center 里程碑#3:危机中心
- Relative Navigation 相对导航
- Route Guards 路由守卫 Milestone #4: Route Guards 里程碑#4:路由守卫
- Milestone #5: Asynchronous Routing 里程碑 5:异步路由
- Wrap Up 总结
- Appendices 附录
- Appendix: Link Parameters Array 附录:链接参数数组
- Appendix: Why use an ngOnInit method 附录:为什么要使用 ngOnInit 方法
- Appendix: LocationStrategy and browser URL styles 附录: LocationStrategy 以及浏览器 URL 样式
- 安全
- 结构型指令
- 测试
- Table of Contents 目录
- 在线例子
- Introduction to Angular Testing Angular 测试入门
- Tools and Technologies 工具与技术
- Setup 搭建测试环境
- The first karma test 第一个 karma 测试
- Run karma 运行 Karma
- Test debugging 调试测试
- Introduction to the Angular Testing Utilities Angular 测试工具入门
- The sample application and its tests 例子应用和它的测试
- Test a component 测试组件
- Test a component with a dependency 测试有依赖的组件
- Provide service test doubles 提供服务复制品
- Get injected services 获取注入的服务
- Test a component with an async service 测试有异步服务的组件
- The async function in it it 里的 async 函数方法
- whenStable whenStable
- The fakeAsync function fakeAsync 函数方法
- The tick function tick 函数
- jasmine.done jasmine.done
- Test a component with an external template 测试有外部模板的组件
- The async function in beforeEach beforeEach 里的 async 函数
- compileComponents compileComponents
- Test a component with inputs and outputs 测试带有导入 inputs 和导出 outputs 的组件
- Test DashboardHeroComponent stand-alone 独立测试 DashboardHeroComponent
- Test a component inside a test host component 在测试宿主组件中测试组件
- Test a routed component 测试带路由器的组件
- The inject function inject 函数
- Test a routed component with parameters 测试带有路由和路由参数的组件
- Use a page object to simplify setup 使用 page 对象来简化配置
- Setup with module imports 模块导入 imports 的配置
- Override component providers 重载组件提供商
- Test a RouterOutlet component 测试带有 RouterOutlet 的组件
- "Shallow component tests" with NO_ERRORS_SCHEMA 使用 NO_ERRORS_SCHEMA 来“浅化”组件测试
- Test an attribute directive 测试属性指令
- Isolated Unit Tests 孤立的单元测试
- Services 服务
- Pipes 管道
- Components 组件
- Angular Testing Utility APIs Angular 测试工具 API
- TestBed Class Summary TestBed 类总结
- The ComponentFixture
- FAQ: Frequently Asked Questions
- TypeScript 配置
- 从 1.x 升级
- Preparation 准备工作
- Follow the Angular Style Guide 遵循 Angular 风格指南
- Using a Module Loader 使用模块加载器
- Migrating to TypeScript 迁移到 TypeScript
- Using Component Directives 使用组件型指令
- Upgrading with The Upgrade Adapter 使用升级适配器进行升级
- How The Upgrade Adapter Works 升级适配器如何工作
- Using the Upgrade Adapter with Angular 2 NgModules 通过 Angular 2 的 NgModule 来使用升级适配器
- Bootstrapping Hybrid Angular 1+2 Applications 引导 Angular 1+2 的混合式应用程序
- Using Angular 2 Components from Angular 1 Code 在 Angular 1 的代码中使用 Angular 2 的组件
- Using Angular 1 Component Directives from Angular 2 Code 从 Angular 2 代码中使用 Angular 1 组件型指令
- Projecting Angular 1 Content into Angular 2 Components 把 Angular 1 的内容投影到 Angular 2 组件中
- Transcluding Angular 2 Content into Angular 1 Component Directives 把 Angular 2 的内容透传进 Angular 1 的组件型指令
- Making Angular 1 Dependencies Injectable to Angular 2 让 Angular 1 中的依赖可被注入到 Angular 2
- Making Angular 2 Dependencies Injectable to Angular 1 让 Angular 2 的依赖能被注入到 Angular 1 中
- PhoneCat Upgrade Tutorial PhoneCat 升级教程
- Switching to TypeScript 切换到 TypeScript
- Installing Angular 2 安装 Angular 2
- Creating the AppModule 创建 AppModule
- Bootstrapping a hybrid 1+2 PhoneCat 引导 PhoneCat 的 1+2 混合式应用
- Upgrading the Phone service 升级 Phone 服务
- Upgrading Components 升级组件
- Switching To The Angular 2 Router And Bootstrap 切换到 Angular 2 路由器和引导程序
- Say Goodbye to Angular 1 再见,Angular 1!
- Appendix: Upgrading PhoneCat Tests 附录:升级 PhoneCat 的测试
- E2E Tests E2E 测试
- Unit Tests 单元测试
- Webpack 简介
- 烹饪宝典
- 预(AoT)编译器
- Table of Contents 目录
- Overview 概览
- Ahead-of-time (AoT) vs Just-in-time (JiT) 预编译(AoT) vs 即时编译(JiT)
- Compile with AoT 用 AoT 进行编译
- Bootstrap 引导
- Tree Shaking 摇树优化(Tree Shaking)
- Load the Bundle 加载捆文件
- Serve the app 启动应用服务器
- Source Code 源代码
- Angular 从 1 到 2 快速参考
- Contents 内容
- Template basics 模板基础
- Template directives 模板指令
- Filters/pipes 过滤器/管道
- Modules/controllers/components 模块/控制器/组件
- Style sheets 样式表
- Angular 模块常见问题
- FAQs Angular 模块常见问题(FAQ)
- NgModule API
- 组件通讯
- Table of contents 目录
- Pass data from parent to child with input binding 通过输入型绑定把数据从父组件传到子组件。
- Intercept input property changes with a setter 通过 setter 截听输入属性值的变化
- Intercept input property changes with ngOnChanges 通过 ngOnChanges 来截听输入属性值的变化
- Parent listens for child event 父组件监听子组件的事件
- Parent interacts with child via local variable 父组件与子组件通过 本地变量 互动
- Parent calls a ViewChild 父组件调用 ViewChild
- Parent and children communicate via a service 父组件和子组件通过服务来通讯
- 相对于组件的路径
- 依赖注入
- Table of contents 目录
- Application-wide dependencies 应用程序全局依赖
- External module configuration 外部模块配置
- @Injectable and nested service dependencies @Injectable 和嵌套服务依赖
- Limit service scope to a component subtree 把服务作用域限制到一个组件支树
- Multiple service instances (sandboxing) 多个服务实例(sandboxing)
- Qualify dependency lookup with @Optional and @Host 使用 @Optional 和 @Host 装饰器来限定依赖查找方式
- Inject the component's element 注入组件的元素
- Define dependencies with providers 使用提供商来定义依赖
- Provider token alternatives: the class-interface and OpaqueToken 备选提供商令牌: 类-接口 和 OpaqueToken
- Inject into a derived class 注入到一个派生类
- Find a parent component by injection 通过注入来找到一个父组件
- Break circularities with a forward class reference ( forwardRef ) 使用一个前向引用( forwardRef ) 来打破循环
- 动态表单
- 表单验证
- 国际化 (i18n)
- 如何从 RC4 迁移到 RC5
- 设置文档标题
- 从 TypeScript 到 JavaScript
- Visual Studio 2015 快速起步
- ASP.NET 4.x Project ASP.NET 4.x 项目
- Prerequisite: Node.js 前提条件: Node.js
- Step 1: Download the QuickStart files 第一步: 现在“快速起步”文件
- Step 2: Set up Visual Studio for TypeScript 第二步:设置 Visual Studio,以支持 TypeScript
- Step 3: Create the Visual Studio ASP.NET project 第三步: 创建 Visual Studio ASP.NET 项目
- Step 4: Copy the QuickStart files into the ASP.NET project folder 第四步: 拷贝“快速起步”的文件到 ASP.NET 项目所在的目录
- Step 5: Restore the required packages 第五步: 恢复需要的包
- Step 6: Edit the TypeScript configuration file 第六步:编辑 TypeScript 配置文件
- Step 7: Build and run the app 第七步:编译和运行应用程序
- Note on Routing Applications 应用程序的路由
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论