更新记录

我们将持续不断的更新和改进Angular文档。本日志记录了近期最重要的变更。

更新到 Angular 4.0 。Angular 2.x 的文档在 v2.angular.io

移除了所有的moduleId引用。移除了“组件相对路径” 的烹饪书。(2017-03-13)

我们往建议的SystemJS配置中新增了一个SystemJS插件 (systemjs-angular-loader.js) 。 这个插件可以帮你把templateUrl和styleUrls中的组件相对路径动态转换为绝对路径。

我们强烈建议你只写组件相对路径。 这也是本文档中所使用的唯一形式。你不必再写@Component({ moduleId: module.id }),而且也不应该再这么写。

新增:每篇指南都增加了可下载的范例程序 (2017-02-28)

现在你可以为任何一篇指南下载范例程序,并且在本地运行它了。 请在“在线例子”的链接后面查找新的下载链接。

模板语法/结构型指令:更新了 (2017-02-06)

模板语法结构型指令这两篇指南做了大幅修改,来让它们更加清晰、准确,并符合当前的最佳实践。 讨论了<ng-container>。 修改了例子,来让它们更清晰,并且覆盖了所有讨论到的主题。

新增:调整了范例程序的结构,移到了src/文件夹 (2017-02-02)

所有的文档范例都已经向Angular CLI的默认文件夹结构看齐了。 这是把范例迁移到Angular CLI过程中的一步。 不过也不仅是为了迁移,它确实能帮我们把应用代码从环境代码和配置代码中分离出来。

我们已经把所有范例改成了使用项目根目录下的src/文件夹。 也就是把以前的app/文件夹移到了src/文件夹下面。 要了解如何对你的现有工程进行这种迁移,请参阅QuickStart中的迁移指南

要点:

新增:响应式(Reactive)表单指南 (2017-01-31)

新的响应式表单指南解释了如何以及何时构建“响应式表单”。 “响应式表单”是基于代码的表单构建方式,与表单中介绍的声明“模板驱动”表单的方法相对。 在你决定如何往应用中添加表单之前,建议先读读那一章。 同时,别忘了你可以在同一个应用中同时使用这两种技术,根据场景来选择最合适的方法。

新增:部署指南 (2017-01-30)

新的部署指南讲的是如何把应用放到服务器上。 其中包括了为生产环境进行优化的重要建议。

多级依赖注入:更新完毕 (2017-01-13)

多级依赖注入做了显著修改。关闭了issue #3086。修改过的范例更加清晰,而且覆盖了讨论到的全部主题。

杂项 (2017-01-05)

路由:更详细 (2016-12-21)

路由指南中添加了更多信息,包括“命名出口(Outlet)”、通配符路由和预加载策略。

Http:如何设置默认的请求头(以及其它配置项) (2016-12-14)

Http指南中添加了一节“如何设置默认的请求头(以及其它配置项)”

测试:添加了组件测试的plunker范例 (2016-12-02)

添加了两个plunker例子,每个都测试一个简单的组件,以便你可以自己在plunker中写组件测试:一个 / 可下载的例子用于测试快速起步中的AppComponent另一个 / 可下载的例子用于测试“测试”章节的BannerComponent。 并在测试环境设置剖析中链接到它们。

国际化:单复数和select (2016-11-30)

国际化 (i18n)解释了如何处理单复数问题,和如何使用select来翻译候选内容。 例子中也演示了这些特性。

测试:更新了karma文件 (2016-11-30)

全新《快速起步》 (2016-11-18)

完全重写了《快速起步》,变得更加快速。 它使用了在 Plunker 中运行的最小化的 “Hello Angular” 应用。 新添加的搭建本地开发环境页面解释了如何通过下载或者克隆 QuickStart github 库来安装本地开发环境。 你将不再需要拷贝粘贴代码到一些并没有对其解释的配置文件中。

与Angular v.2.2.0同步(2016-11-14)

使用Angular v.2.2.0更新和测试所有文档和代码例子。

更新:用于AoT的upgrade/static模块NgUpgrade指南 (2016-11-14)

更新的NgUpgrade指南覆盖在v.2.2.0发布的AoTupgrade/static模块, 是从AngularJS升级至Angular的推荐工具。 删除早于v.2.2.0版本的文档。

在“从TypeScript到JavaScript”增加ES6的描述 (2016-11-14)

更新了“从TypeScript到JavaScript”烹饪宝典,解释如何使用ES6/7编写应用

将TypeScript文档示例中(以及网站其它地方)的习惯用法翻译成ES6/7和ES5。

与Angular v.2.1.1 同步(2016-10-21)

使用Angular v.2.1.1更新和测试所有文档和代码例子。

使用npm的@types包替换typings (2016-10-20)

文档例子现在从npm的@types第三方库获取TypeScript类型信息,不再使用typings。 删除typings.json文件。

"从AngularJS升级"指南反映了这个变化。 package.json安装@types/angular和一些@types/angular-...包来支持升级。它们在纯Angular开发中是不需要的。

"模板语法"添加了双向数据绑定语法的解释(2016-10-20)

展示了如何在自定义Angular组件中双向数据绑定,用基础[()]重新解释[(ngModel)]

破坏性变化:in-memory-web-api (v.0.1.11) 以esm umd的形式发布 (2016-10-19)

这个变化支持ES6开发者,并与典型的Angular库看齐。 它不会影响模块的API,但是它改变了加载和导入它的方式。 参见in-memory-web-api库的变更记录

"路由器"预加载语法和:enter/:leave动画(2016-10-19)

路由器可以在应用启动之后和用户导航到惰性加载模块之前,预先加载惰性模块,以增强性能。

:enter:leave语法,让动画更加自然。

与Angular v.2.1.0同步(2016-10-12)

使用Angular v.2.1.0更新和测试所有文档和代码例子。

添加了新的“预编译(AoT)"烹饪书(2016-10-11)

全新预编译(AoT)烹饪书介绍了什么是AoT编译和为何你需要它。 它以快速起步应用程序开始讲解,接着介绍了编译和构建英雄指南的更高级的注意事项。

与Angular v.2.0.2同步 (2016-10-6)

使用Angular v.2.0.2更新和测试所有文档和代码例子。

在“路由和导航”向导中添加路由模块 (2016-10-5)

Routing and Navigation现在在路由模块中设置路由配置。 路由模块替换之前的路由对象,使用了ModuleWithProviders

路由与导航

所有使用路由的例子都使用路由模块,相关内容也被更新。更新最多的是Angular模块(NgModule)章和Angular模块常见问题烹饪书。

全新“国际化”烹饪书(2016-09-30)

添加了新的国际化(i18n)烹饪书,展示了如何使用Angular的“i18n”工具来讲模板文本翻译到多种语言。

重命名“angular-in-memory-web-api”包(2016-09-27)

许多例子使用了angular-in-memory-web-api来模拟远程服务器。 这个库在你拥有服务器之前的早期开发阶段也很有用。

这个包的名字从“angular2-in-memory-web-api”(仍然有效,但不再更新了)重新命名了。 新的“angular-in-memory-web-api”有新的功能。 到github获得更多详情.

“风格指南”中添加了NgModules(2016-09-27)

StyleGuide解释了我们为Angular模块(NgModule)而推荐的约定。

现在,封装桶不再那么重要,风格指南已经移除了它们。 它们仍然很有价值,但是它们与Angular风格无关。 我们同时对不推荐使用@Component.host属性的规则有所放宽。

moduleId:到处添加module.id(2016-09-25)

在所有使用templateUrl或者styleUrls来获取模板或样式的例子组件都被转换为相对模块的URL。 我们添加了moduleId: module.id到它们的@Component元数据。

当应用像例子当前使用的方法一样 - 使用SystemJS加载模块时,本更新是AoT编译器的前提条件。

简化了“生命周期钩子”章(2016-09-24)

生命周期钩子章现在更加简短,并且对强调了Angular是以什么顺序来调用钩子方法的。