435 lines
20 KiB
Markdown
435 lines
20 KiB
Markdown
# Change Log
|
||
|
||
# 变更记录
|
||
|
||
The Angular documentation is a living document with continuous improvements.
|
||
This log calls attention to recent significant changes.
|
||
|
||
Angular 的文档将持续不断的更新和改进。本日志记录了近期最重要的变更。
|
||
|
||
## Updated to Angular 4.0. Documentation for Angular 2.x can be found at [v2.angular.io](https://v2.angular.io).
|
||
|
||
## 更新到 Angular 4.0 。Angular 2.x 的文档在 [v2.angular.io](https://v2.angular.io) 。
|
||
|
||
## All mention of moduleId removed. "Component relative paths" guide deleted (2017-03-13)
|
||
|
||
## 移除了所有的 moduleId 引用。移除了“组件相对路径” 的指南。(2017-03-13)
|
||
|
||
We added a new SystemJS plugin (systemjs-angular-loader.js) to our recommended SystemJS configuration.
|
||
This plugin dynamically converts "component-relative" paths in templateUrl and styleUrls to "absolute paths" for you.
|
||
|
||
我们往建议的 SystemJS 配置中新增了一个 SystemJS 插件 (systemjs-angular-loader.js) 。
|
||
这个插件可以帮你把 templateUrl 和 styleUrls 中的组件相对路径动态转换为绝对路径。
|
||
|
||
We strongly encourage you to only write component-relative paths.
|
||
That is the only form of URL discussed in these docs. You no longer need to write @Component({ moduleId: module.id }), nor should you.
|
||
|
||
我们强烈建议你只写组件相对路径。
|
||
这也是本文档中所使用的唯一形式。你不必再写 `@Component({ moduleId: module.id })`,而且也不应该再这么写。
|
||
|
||
## NEW: Downloadable examples for each guide (2017-02-28)
|
||
|
||
## 新增:每篇指南都增加了可下载的范例程序 (2017-02-28)
|
||
|
||
Now you can download the sample code for any guide and run it locally.
|
||
Look for the new download links next to the "live example" links.
|
||
|
||
现在你可以为任何一篇指南下载范例程序,并且在本地运行它了。
|
||
请在“在线例子”的链接后面查找新的下载链接。
|
||
|
||
## Template Syntax/Structural Directives: refreshed (2017-02-06)
|
||
|
||
## 模板语法/结构型指令:更新了 (2017-02-06)
|
||
|
||
The [_Template-Syntax_](guide/template-syntax) and [_Structural Directives_](guide/structural-directives)
|
||
guides were significantly revised for clarity, accuracy, and current recommended practices.
|
||
Discusses `<ng-container>`.
|
||
Revised samples are more clear and cover all topics discussed.
|
||
|
||
对[模板语法](guide/template-syntax) 和 [结构型指令](guide/structural-directives)这两篇指南做了大幅修改,来让它们更加清晰、准确,并符合当前的最佳实践。
|
||
讨论了 `<ng-container>`。
|
||
修改了例子,来让它们更清晰,并且涵盖了所有讨论到的主题。
|
||
|
||
## NEW: Samples re-structured with `src/` folder (2017-02-02)
|
||
|
||
## 新增:调整了范例程序的结构,移到了 `src/` 文件夹 (2017-02-02)
|
||
|
||
All documentation samples have been realigned with the default folder structure of the Angular CLI.
|
||
That's a step along the road to basing the sample in the Angular CLI.
|
||
But it's also good in its own right.
|
||
It helps clearly separate app code from setup and configuration files.
|
||
|
||
所有的文档范例都已经向 Angular CLI 的默认文件夹结构看齐了。
|
||
这是把范例迁移到 Angular CLI 过程中的一步。
|
||
不过也不仅是为了迁移,它还能把应用代码从环境准备代码和配置代码中清晰地分离出来。
|
||
|
||
All samples now have a `src/` folder at the project root.
|
||
The former `app/` folder moves under `src/`.
|
||
Read about moving your existing project to this structure in
|
||
<a href="https://github.com/angular/quickstart#updating-to-a-newer-version-of-the-quickstart-repo" target="Migrating samples/quickstart app to the src folder">
|
||
the QuickStart repo update instructions</a>.
|
||
|
||
所有的范例都改成了使用项目根目录下的 `src/` 文件夹。
|
||
也就是把以前的 `app/` 文件夹移到了 `src/` 文件夹下面。
|
||
要了解如何对你的现有项目进行这种迁移,请参阅<a href="https://github.com/angular/quickstart#updating-to-a-newer-version-of-the-quickstart-repo" target="_blank" target="把范例中的应用迁移到 src 文件夹">QuickStart 中的迁移指南</a>。
|
||
|
||
Notably:
|
||
|
||
要点:
|
||
|
||
* `app/main.ts` moved to `src/main.ts`.
|
||
|
||
把 `app/main.ts` 移到 `src/main.ts`。
|
||
|
||
* `app/` moved to `src/app/`.
|
||
|
||
把 `app/` 移到 `src/app/`。
|
||
|
||
* `index.html`, `styles.css` and `tsconfig.json` moved inside `src/`.
|
||
|
||
把 `index.html`、`styles.css` 和 `tsconfig.json` 移到 `src/` 中。
|
||
|
||
* `systemjs.config.js` now imports `main.js` instead of `app`.
|
||
|
||
`systemjs.config.js` 现在要导入 `main.js` 而不是 `app`。
|
||
|
||
* Added `lite-server` configuration (`bs-config.json`) to serve `src/`.
|
||
|
||
新增了一个 `lite-server` 配置(`bs-config.json`)以便在 `src/` 下启动开发服务器。
|
||
|
||
## NEW: Reactive Forms guide (2017-01-31)
|
||
|
||
## 新增:响应式(Reactive)表单指南 (2017-01-31)
|
||
|
||
The new [**Reactive Forms**](guide/reactive-forms) guide explains how and why to build a "reactive form".
|
||
"Reactive Forms" are the code-based counterpart to the declarative "Template Driven" forms approach
|
||
introduced in the [Forms](guide/forms) guide.
|
||
Check it out before you decide how to add forms to your app.
|
||
Remember also that you can use both techniques in the same app,
|
||
choosing the approach that best fits each scenario.
|
||
|
||
新的[**响应式表单**](guide/reactive-forms)指南解释了如何以及何时构建“响应式表单”。
|
||
“响应式表单”是基于代码的表单构建方式,与[表单](guide/forms)中介绍的声明“模板驱动”表单的方法相对。
|
||
在你决定如何往应用中添加表单之前,建议先读读那一章。
|
||
同时,别忘了你可以在同一个应用中同时使用这两种技术,根据场景来选择最合适的方法。
|
||
|
||
## NEW: Deployment guide (2017-01-30)
|
||
|
||
## 新增:部署指南 (2017-01-30)
|
||
|
||
The new [Deployment](guide/deployment) guide describes techniques for putting your application on a server.
|
||
It includes important advice on optimizing for production.
|
||
|
||
新的[部署指南](guide/deployment)讲的是如何把应用放到服务器上。
|
||
其中包括了为生产环境进行优化的重要建议。
|
||
|
||
## Hierarchical Dependency Injection: refreshed (2017-01-13)
|
||
|
||
## 多级依赖注入:更新完毕 (2017-01-13)
|
||
|
||
[Hierarchical Dependency Injection](guide/hierarchical-dependency-injection) guide is significantly revised.
|
||
Closes issue #3086.
|
||
Revised samples are clearer and cover all topics discussed.
|
||
|
||
[多级依赖注入](guide/hierarchical-dependency-injection)做了显著修改。关闭了 issue #3086。修改过的范例更加清晰,而且涵盖了讨论到的全部主题。
|
||
|
||
## Miscellaneous (2017-01-05)
|
||
|
||
## 杂项 (2017-01-05)
|
||
|
||
* [Setup](guide/setup) guide:
|
||
added (optional) instructions on how to remove _non-essential_ files.
|
||
|
||
[环境搭建](guide/setup)指南:
|
||
添加了(可选的)步骤说明,告诉你如何移除*非核心*文件。
|
||
|
||
* No longer consolidate RxJS operator imports in `rxjs-extensions` file; each file should import what it needs.
|
||
|
||
不再在 `rxjs-extensions` 文件中统一导入 RxJS 的操作符,每个文件应该各自导入它自己所需的。
|
||
|
||
* All samples prepend template/style URLs with `./` as a best practice.
|
||
|
||
所有范例都在模板/样式的 URL 之前添加 `./` 前缀 …… 而且你在实际开发中也应该这么做。
|
||
|
||
* [Style Guide](guide/styleguide): copy edits and revised rules.
|
||
|
||
[风格指南](guide/styleguide):复制了编辑过的和修改过的规则。
|
||
|
||
## Router: more detail (2016-12-21)
|
||
|
||
## 路由:更详细 (2016-12-21)
|
||
|
||
Added more information to the [Router](guide/router) guide
|
||
including sections named outlets, wildcard routes, and preload strategies.
|
||
|
||
往[路由指南](guide/router)中添加了更多信息,包括“命名出口(Outlet)”、通配符路由和预加载策略。
|
||
|
||
## HTTP: how to set default request headers (and other request options) (2016-12-14)
|
||
|
||
## Http:如何设置默认的请求头(以及其它配置项) (2016-12-14)
|
||
|
||
Added section on how to set default request headers (and other request options) to
|
||
HTTP guide.
|
||
|
||
添加了一节“如何设置默认的请求头(以及其它配置项)”
|
||
|
||
## Testing: added component test plunkers (2016-12-02)
|
||
|
||
## 测试:添加了组件测试的 plunker 范例 (2016-12-02)
|
||
|
||
Added two plunkers that each test _one simple component_ so you can write a component test plunker of your own: <live-example name="setup" plnkr="quickstart-specs">one</live-example> for the QuickStart seed's `AppComponent` and <live-example name="testing" plnkr="banner-specs">another</live-example> for the Testing guide's `BannerComponent`.
|
||
Linked to these plunkers in "Testing" and "Setup anatomy" guides.
|
||
|
||
添加了两个 plunker 例子,每个都测试一个简单的组件,以便你可以自己在 plunker 中写组件测试:<live-example name="setup" plnkr="quickstart-specs">一个</live-example>用于测试快速起步中的 `AppComponent`,<live-example name="testing" plnkr="banner-specs">另一个</live-example>用于测试“测试”章节的 `BannerComponent`。
|
||
并在“测试”和“环境设置剖析”中链接到它们。
|
||
|
||
## Internationalization: pluralization and _select_ (2016-11-30)
|
||
|
||
## 国际化:单复数和 `select` (2016-11-30)
|
||
|
||
The [Internationalization (i18n)](guide/i18n) guide explains how to handle pluralization and
|
||
translation of alternative texts with `select`.
|
||
The sample demonstrates these features too.
|
||
|
||
[国际化 (i18n)](guide/i18n)解释了如何处理单复数问题,和如何使用 `select` 来翻译候选内容。
|
||
例子中也演示了这些特性。
|
||
|
||
## Testing: karma file updates (2016-11-30)
|
||
|
||
## 测试:更新了 karma 文件 (2016-11-30)
|
||
|
||
* `karma.config` + `karma-test-shim` can handle multiple spec source paths;
|
||
see quickstart issue: [angular/quickstart#294](https://github.com/angular/quickstart/issues/294).
|
||
|
||
`karma.config` + `karma-test-shim` 可以处理多个测试源文件路径了,参见[angular/quickstart#294](https://github.com/angular/quickstart/issues/294)。
|
||
|
||
* Displays Jasmine Runner output in the karma-launched browser.
|
||
|
||
在启动了 karma 的浏览器中显示 Jasmine 的输出。
|
||
|
||
## QuickStart Rewrite (2016-11-18)
|
||
|
||
## 全新《快速上手》 (2016-11-18)
|
||
|
||
The QuickStart is completely rewritten so that it actually is quick.
|
||
It references a minimal "Hello Angular" app running in Plunker.
|
||
The new [Setup](guide/setup) page tells you how to install a local development environment
|
||
by downloading (or cloning) the QuickStart github repository.
|
||
You are no longer asked to copy-and-paste code into setup files that were not explained anyway.
|
||
|
||
完全重写了《快速上手》,变得更加快速。
|
||
它使用了在 Plunker 中运行的最小化的 “Hello Angular” 应用。
|
||
新添加的[搭建本地开发环境](guide/setup)页面解释了如何通过下载或者克隆 QuickStart github 库来安装本地开发环境。
|
||
你将不再需要拷贝粘贴代码到一些并没有对其解释的配置文件中。
|
||
|
||
## Sync with Angular v.2.2.0 (2016-11-14)
|
||
|
||
## 与 Angular v.2.2.0 同步(2016-11-14)
|
||
|
||
Docs and code samples updated and tested with Angular v.2.2.0.
|
||
|
||
使用 Angular v.2.2.0 更新和测试所有文档和代码例子。
|
||
|
||
## UPDATE: NgUpgrade Guide for the AOT friendly _upgrade/static_ module (2016-11-14)
|
||
|
||
## 更新:用于 AOT 的 *upgrade/static* 模块 NgUpgrade 指南 (2016-11-14)
|
||
|
||
The updated [NgUpgrade Guide](guide/upgrade) guide covers the
|
||
new AOT friendly `upgrade/static` module
|
||
released in v.2.2.0, which is the recommended
|
||
facility for migrating from AngularJS to Angular.
|
||
The documentation for the version prior to v.2.2.0 has been removed.
|
||
|
||
更新的[NgUpgrade 指南](guide/upgrade)涵盖在 v.2.2.0 发布的 AOT`upgrade/static` 模块,
|
||
是从 AngularJS 升级至 Angular 的推荐工具。
|
||
删除早于 v.2.2.0 版本的文档。
|
||
|
||
## ES6 described in "TypeScript to JavaScript" (2016-11-14)
|
||
|
||
## 在“从 TypeScript 到 JavaScript”增加 ES6 的描述 (2016-11-14)
|
||
|
||
The updated TypeScript to JavaScript guide explains how to write apps in ES6/7
|
||
by translating the common idioms in the TypeScript documentation examples
|
||
(and elsewhere on the web) to ES6/7 and ES5.
|
||
|
||
更新了“从 TypeScript 到 JavaScript”,以解释如何使用 ES6/7 编写应用。
|
||
将 TypeScript 文档示例中(以及网站其它地方)的习惯用法翻译成 ES6/7 和 ES5。
|
||
|
||
This was [removed in August 2017](https://github.com/angular/angular/pull/18694) but can still be
|
||
viewed in the [v2 documentation](https://v2.angular.io/docs/ts/latest/cookbook/ts-to-js.html).
|
||
|
||
本章已经 [于 2017 年 8 月移除](https://github.com/angular/angular/pull/18694),
|
||
不过仍然可以在[第二版的文档中](https://v2.angular.io/docs/ts/latest/cookbook/ts-to-js.html)看到。
|
||
|
||
## Sync with Angular v.2.1.1 (2016-10-21)
|
||
|
||
## 与 Angular v.2.1.1 同步(2016-10-21)
|
||
|
||
Docs and code samples updated and tested with Angular v.2.1.1.
|
||
|
||
使用 Angular v.2.1.1 更新和测试所有文档和代码例子。
|
||
|
||
## npm _@types_ packages replace _typings_ (2016-10-20)
|
||
|
||
## 使用 npm 的_@types*包替换*typings_ (2016-10-20)
|
||
|
||
Documentation samples now get TypeScript type information for 3rd party libraries
|
||
from npm `@types` packages rather than with the _typings_ tooling.
|
||
The `typings.json` file is gone.
|
||
|
||
文档例子现在从 npm 的 `@types` 第三方库获取 TypeScript 类型信息,不再使用_typings_。
|
||
删除 `typings.json` 文件。
|
||
|
||
The [AngularJS Upgrade](guide/upgrade) guide reflects this change.
|
||
The `package.json` installs `@types/angular` and several `@types/angular-...`
|
||
packages in support of upgrade; these are not needed for pure Angular development.
|
||
|
||
"[从 AngularJS 升级](guide/upgrade)"指南反映了这个变化。
|
||
`package.json` 安装 `@types/angular` 和一些 `@types/angular-...` 包来支持升级。它们在纯 Angular 开发中是不需要的。
|
||
|
||
## "Template Syntax" explains two-way data binding syntax (2016-10-20)
|
||
|
||
## "模板语法"添加了双向数据绑定语法的解释(2016-10-20)
|
||
|
||
Demonstrates how to two-way data bind to a custom Angular component and
|
||
re-explains `[(ngModel)]` in terms of the basic `[()]` syntax.
|
||
|
||
展示了如何在自定义 Angular 组件中双向数据绑定,用基础 `[()]` 重新解释 `[(ngModel)]`。
|
||
|
||
## BREAKING CHANGE: `in-memory-web-api` (v.0.1.11) delivered as esm umd (2016-10-19)
|
||
|
||
## 破坏性变化:`in-memory-web-api` (v.0.1.11) 以 esm umd 的形式发布 (2016-10-19)
|
||
|
||
This change supports ES6 developers and aligns better with typical Angular libraries.
|
||
It does not affect the module's API but it does affect how you load and import it.
|
||
See the <a href="https://github.com/angular/in-memory-web-api/blob/master/CHANGELOG.md#0113-2016-10-20">change note</a>
|
||
in the `in-memory-web-api` repo.
|
||
|
||
这个变化支持 ES6 开发者,并与典型的 Angular 库看齐。
|
||
它不会影响模块的 API,但是它改变了加载和导入它的方式。
|
||
参见 `in-memory-web-api` 库的<a href="https://github.com/angular/in-memory-web-api/blob/master/CHANGELOG.md#0113-2016-10-20" target="_blank">变更记录</a>。
|
||
|
||
## "Router" _preload_ syntax and _:enter_/_:leave_ animations (2016-10-19)
|
||
|
||
## "路由器"*预加载*语法和 *:enter*/*:leave* 动画(2016-10-19)
|
||
|
||
The router can lazily _preload_ modules _after_ the app starts and
|
||
_before_ the user navigates to them for improved perceived performance.
|
||
|
||
路由器可以在应用启动*之后*和用户导航到惰性加载模块*之前*,预先加载惰性模块,以增强性能。
|
||
|
||
New `:enter` and `:leave` aliases make animation more natural.
|
||
|
||
新 `:enter` 和 `:leave` 语法,让动画更加自然。
|
||
|
||
## Sync with Angular v.2.1.0 (2016-10-12)
|
||
|
||
## 与 Angular v.2.1.0 同步(2016-10-12)
|
||
|
||
Docs and code samples updated and tested with Angular v.2.1.0.
|
||
|
||
使用 Angular v.2.1.0 更新和测试所有文档和代码例子。
|
||
|
||
## NEW "Ahead of time (AOT) Compilation" guide (2016-10-11)
|
||
|
||
## 添加了新的“预编译(AOT)" 指南(2016-10-11)
|
||
|
||
The NEW [Ahead of time (AOT) Compilation](guide/aot-compiler) guide
|
||
explains what AOT compilation is and why you'd want it.
|
||
It demonstrates the basics with a QuickStart app
|
||
followed by the more advanced considerations of compiling and bundling the Tour of Heroes.
|
||
|
||
全新[预编译(AOT)](guide/aot-compiler)指南介绍了什么是 AOT 编译和为何你需要它。
|
||
它以**快速上手**应用程序开始讲解,接着介绍了编译和构建**英雄指南**的更高级的注意事项。
|
||
|
||
## Sync with Angular v.2.0.2 (2016-10-6)
|
||
|
||
## 与 Angular v.2.0.2 同步 (2016-10-6)
|
||
|
||
Docs and code samples updated and tested with Angular v.2.0.2.
|
||
|
||
使用 Angular v.2.0.2 更新和测试所有文档和代码例子。
|
||
|
||
## "Routing and Navigation" guide with the _Router Module_ (2016-10-5)
|
||
|
||
## 在“路由和导航”向导中添加**路由模块** (2016-10-5)
|
||
|
||
The [Routing and Navigation](guide/router) guide now locates route configuration
|
||
in a _Routing Module_.
|
||
The _Routing Module_ replaces the previous _routing object_ involving the `ModuleWithProviders`.
|
||
|
||
[Routing and Navigation](guide/router)现在在**路由模块**中设置路由配置。
|
||
**路由模块**替换之前的**路由对象**,使用了 `ModuleWithProviders`。
|
||
|
||
All guided samples with routing use the _Routing Module_ and prose content has been updated,
|
||
most conspicuously in the
|
||
[NgModule](guide/ngmodules) guide and [NgModule FAQ](guide/ngmodule-faq) guide.
|
||
|
||
所有使用路由的例子都使用**路由模块**,相关内容也被更新。更新最多的是[Angular 模块(NgModule)](guide/ngmodules)章和[Angular 模块常见问题](guide/ngmodule-faq)指南。
|
||
|
||
## New "Internationalization" guide (2016-09-30)
|
||
|
||
## 全新“国际化”指南(2016-09-30)
|
||
|
||
Added a new [Internationalization (i18n)](guide/i18n) guide that shows how
|
||
to use Angular "i18n" facilities to translate template text into multiple languages.
|
||
|
||
添加了新的[国际化(i18n)](guide/i18n)指南,展示了如何使用 Angular 的“i18n”工具来讲模板文本翻译到多种语言。
|
||
|
||
## "angular-in-memory-web-api" package rename (2016-09-27)
|
||
|
||
## 重命名“angular-in-memory-web-api”包(2016-09-27)
|
||
|
||
Many samples use the `angular-in-memory-web-api` to simulate a remote server.
|
||
This library is also useful to you during early development before you have a server to talk to.
|
||
|
||
许多例子使用了 `angular-in-memory-web-api` 来模拟远程服务器。
|
||
这个库在你拥有服务器之前的早期开发阶段也很有用。
|
||
|
||
The package name was changed from "angular2-in-memory-web-api" which is still frozen-in-time on npm.
|
||
The new "angular-in-memory-web-api" has new features.
|
||
<a href="https://github.com/angular/in-memory-web-api/blob/master/README.md">Read about them on github</a>.
|
||
|
||
这个包的名字从“angular2-in-memory-web-api”(仍然有效,但不再更新了)重新命名了。
|
||
新的“angular-in-memory-web-api”有新的功能。
|
||
<a href="https://github.com/angular/in-memory-web-api/blob/master/README.md" target="_blank">到 github 获得更多详情</a>.
|
||
|
||
## "Style Guide" with _NgModules_ (2016-09-27)
|
||
|
||
## “风格指南”中添加了_NgModules_(2016-09-27)
|
||
|
||
[StyleGuide](guide/styleguide) explains recommended conventions for NgModules.
|
||
Barrels now are far less useful and have been removed from the style guide;
|
||
they remain valuable but are not a matter of Angular style.
|
||
Also relaxed the rule that discouraged use of the `@Component.host` property.
|
||
|
||
[StyleGuide](guide/styleguide)解释了 Angular 模块(NgModule)推荐的约定。
|
||
现在,封装桶不再那么重要,风格指南已经移除了它们。
|
||
它们仍然很有价值,但是它们与 Angular 风格无关。
|
||
同时,**不推荐使用 `@Component.host` 属性**的规则也有所放宽。
|
||
|
||
## _moduleId: module.id_ everywhere (2016-09-25)
|
||
|
||
## moduleId:到处添加 module.id(2016-09-25)
|
||
|
||
Sample components that get their templates or styles with `templateUrl` or `styleUrls`
|
||
have been converted to _module-relative_ URLs.
|
||
Added the `moduleId: module.id` property-and-value to their `@Component` metadata.
|
||
|
||
在所有使用 `templateUrl` 或者 `styleUrls` 来获取模板或样式的例子组件都被转换为**相对模块**的 URL。
|
||
把 `moduleId: module.id` 添加到了它们的 `@Component` 元数据。
|
||
|
||
This change is a requirement for compilation with AOT compiler when the app loads
|
||
modules with SystemJS as the samples currently do.
|
||
|
||
当应用像例子当前使用的方法一样 - 使用 SystemJS 加载模块时,本更新是 AOT 编译器的前提条件。
|
||
|
||
## "Lifecycle Hooks" guide simplified (2016-09-24)
|
||
|
||
## 简化了“生命周期钩子”章(2016-09-24)
|
||
|
||
The [Lifecycle Hooks](guide/lifecycle-hooks) guide is shorter, simpler, and
|
||
draws more attention to the order in which Angular calls the hooks.
|
||
|
||
[生命周期钩子](guide/lifecycle-hooks)章现在更加简短,并且对强调了 Angular 是以什么顺序来调用钩子方法的。
|