From 99d89072d582ec061b522b1b6df2406964284a08 Mon Sep 17 00:00:00 2001 From: Zhicheng Wang Date: Mon, 9 May 2016 21:50:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=E6=89=80=E6=9C=89=E8=AF=AF=E7=94=A8?= =?UTF-8?q?=E7=9A=84=E4=BB=96=E6=94=B9=E6=88=90=E5=AE=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cookbook/component-communication.jade | 4 ++-- .../latest/cookbook/dependency-injection.jade | 20 +++++++++---------- .../docs/ts/latest/cookbook/dynamic-form.jade | 4 ++-- public/docs/ts/latest/glossary.jade | 20 +++++++++---------- public/docs/ts/latest/guide/_data.json | 2 +- public/docs/ts/latest/guide/architecture.jade | 8 ++++---- .../docs/ts/latest/guide/cheatsheet-cn.json | 2 +- .../docs/ts/latest/guide/displaying-data.jade | 2 +- public/docs/ts/latest/guide/forms.jade | 4 ++-- public/docs/ts/latest/guide/index.jade | 2 +- public/docs/ts/latest/guide/style-guide.jade | 10 +++++----- .../docs/ts/latest/guide/template-syntax.jade | 2 +- public/docs/ts/latest/quickstart.jade | 4 ++-- .../ts/latest/testing/first-app-tests.jade | 2 +- .../latest/testing/jasmine-testing-101.jade | 6 +++--- public/docs/ts/latest/tutorial/toh-pt1.jade | 2 +- public/docs/ts/latest/tutorial/toh-pt3.jade | 2 +- public/docs/ts/latest/tutorial/toh-pt4.jade | 2 +- public/docs/ts/latest/tutorial/toh-pt5.jade | 2 +- 19 files changed, 50 insertions(+), 50 deletions(-) diff --git a/public/docs/ts/latest/cookbook/component-communication.jade b/public/docs/ts/latest/cookbook/component-communication.jade index 61b68a572b..1192399299 100644 --- a/public/docs/ts/latest/cookbook/component-communication.jade +++ b/public/docs/ts/latest/cookbook/component-communication.jade @@ -168,7 +168,7 @@ figure.image-display :marked The `VersionParentComponent` supplies the `minor` and `major` values and binds buttons to methods that change them. - `VersionParentComponent`提供`minor`和`major`值,将变换他们值得类方法绑定到按钮上。 + `VersionParentComponent`提供`minor`和`major`值,将变换它们值的类方法绑定到按钮上。 +makeExample('cb-component-communication/ts/app/version-parent.component.ts') @@ -442,7 +442,7 @@ a(id="countdown-tests") Each `AstronautComponent` is a child of the `MissionControlComponent` and therefore receives its parent's service instance: `AstronautComponent`也通过自己的构造函数注入该服务。 - 每个`AstronautComponent`都是`MissionControlComponent`的子级,所以他们获取它们父级的服务的实例。 + 每个`AstronautComponent`都是`MissionControlComponent`的子级,所以它们获取它们父级的服务的实例。 +makeExample('cb-component-communication/ts/app/astronaut.component.ts') diff --git a/public/docs/ts/latest/cookbook/dependency-injection.jade b/public/docs/ts/latest/cookbook/dependency-injection.jade index cc2ab6c231..e3ba72fb40 100644 --- a/public/docs/ts/latest/cookbook/dependency-injection.jade +++ b/public/docs/ts/latest/cookbook/dependency-injection.jade @@ -162,7 +162,7 @@ a(id="nested-dependencies") Resolving these nested dependencies in the correct order is also the framework's job. At each step, the consumer of dependencies simply declares what it requires in its constructor and the framework takes over. - 有时候一个服务依赖其他服务...(其他服务)可能依赖另外的服务。按正确的顺序来解析这些嵌套依赖也是框架工具(Angualar 2依赖注入)的工作。 + 有时候一个服务依赖其它服务...而其它服务可能依赖另外的服务。按正确的顺序来解析这些嵌套依赖也是框架工具(Angualar 2依赖注入)的工作。 在每一步,依赖的使用者只是在它的构造函数里简单地声明它需要什么,框架工具会做剩余的事情。 For example, we inject both the `LoggerService` and the `UserContext` in the `AppComponent`. @@ -185,7 +185,7 @@ a(id="nested-dependencies") The `UserService` has no dependencies so the dependency injection framework can just `new` one into existence. 当Angular新建一个`AppComponent`,依赖注入框架工具创建一个`LoggerService`的实例,和开始创建`UserContextService`。`UserContextService`需要框架工具已经有了的`LoggerService`和还没创建的`UserService`。 - `UserService`没有其他依赖,所以依赖注入框架工具可以直接`new`一个实例。 + `UserService`没有其它依赖,所以依赖注入框架工具可以直接`new`一个实例。 The beauty of dependency injection is that the author of `AppComponent` didn't care about any of this. The author simply declared what was needed in the constructor (`LoggerService` and `UserContextService`) and the framework did the rest. @@ -315,7 +315,7 @@ figure.image-display We call this *sandboxing* because each service and component instance has its own sandbox to play in. 一个管理自己伴随组件实例状态的服务是个好例子。 - 对每个组件,我们都需要该服务的单独实例。每个服务有自己的工作-状态,与其他组件的服务-和-状态隔离。我们叫这个*sandboxing*,因为每个服务和组件实例都在自己的沙盒里运行。 + 对每个组件,我们都需要该服务的单独实例。每个服务有自己的工作-状态,与其它组件的服务-和-状态隔离。我们叫这个*sandboxing*,因为每个服务和组件实例都在自己的沙盒里运行。 Imagine a `HeroBiosComponent` that presents three instances of the `HeroBioComponent`. @@ -326,7 +326,7 @@ figure.image-display Each `HeroBioComponent` can edit a single hero's biography. A `HeroBioComponent` relies on a `HeroCacheService` to fetch, cache, and perform other persistence operations on that hero. - 每个`HeroBioComponent`都能编辑一个英雄的生平。一个`HeroBioComponent`依赖一个`HeroCacheService`来对该英雄进行读取、缓存和执行其他持久性质的操作。 + 每个`HeroBioComponent`都能编辑一个英雄的生平。一个`HeroBioComponent`依赖一个`HeroCacheService`来对该英雄进行读取、缓存和执行其它持久性质的操作。 +makeExample('cb-dependency-injection/ts/app/hero-cache.service.ts','service','app/hero-cache.service.ts') :marked Clearly the three instances of the `HeroBioComponent` can't share the same `HeroCacheService`. @@ -585,11 +585,11 @@ figure.image-display But not every dependency can be satisfied by creating a new instance of a class. We need other ways to deliver dependency values and that means we need other ways to specify a provider. - 这就是那么简单,因为最常见的被注入的服务是一个类的实例。但是,不是所有的依赖能在能建立一个类的新实例就够了的。我们需要其他的提交依赖值得方法,也就是说我们需要其他方法来制定一个provider。 + 这就是那么简单,因为最常见的被注入的服务是一个类的实例。但是,不是所有的依赖能在能建立一个类的新实例就够了的。我们需要其它的提交依赖值得方法,也就是说我们需要其它方法来指定一个provider。 The `HeroOfTheMonthComponent` example demonstrates many of the alternatives and why we need them. - `HeroOfTheMonthComponent`例子示范了一些备择方案,揭示了为什么我们需要他们。 + `HeroOfTheMonthComponent`例子示范了一些备择方案,揭示了为什么我们需要它们。 figure.image-display img(src="/resources/images/cookbooks/dependency-injection/hero-of-month.png" alt="Hero of the month" width="300px") :marked @@ -663,7 +663,7 @@ a(id='usevalue') :marked The other providers create their values *lazily* when they're needed for injection. - 其他providers只在注入需要他们的时候才创建他们值 - *延迟加载* + 其它providers只在注入需要它们的时候才创建它们值 - *延迟加载* .l-main-section a(id='useclass') @@ -806,7 +806,7 @@ a(id='usefactory') Look at the [live example](/resources/live-examples/cb-dependency-injection/ts/plnkr.html) for the full source code. - 该函数从`HeroService`获取英雄参赛者,从中取`2`个作为亚军,并把他们的名字合并起来。亲到[在线例子](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)看全部原代码。 + 该函数从`HeroService`获取英雄参赛者,从中取`2`个作为亚军,并把他们的名字合并起来。请到[在线例子](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)看全部原代码。 a(id="tokens") @@ -915,7 +915,7 @@ a(id='opaque-token') a JavaScript object that has a friendly name but won't conflict with another token that happens to have the same name. - 这样的对象没有应用程序接口,所以不能用一个类来表示。它们可被一个唯一的和标志性的令牌更好的表达,一个JavaScript对象,拥有一个友好的名字但是不会与其他名字相同的令牌有冲突。 + 这样的对象没有应用程序接口,所以不能用一个类来表示。它们可被一个唯一的和标志性的令牌更好的表达,一个JavaScript对象,拥有一个友好的名字但是不会与其它名字相同的令牌有冲突。 The `OpaqueToken` has these characteristics. We encountered them twice in the *Hero of the Month* example, @@ -941,7 +941,7 @@ a(id="di-inheritance") we must re-provide and re-inject them in the derived class and then pass them down to the base class through the constructor. - 当编写一个从另一个组件衍生的组件的时候,我们要格外小心。如果基础组件有注入的依赖,我们必须要在衍生类中重新提供和重新注入它们,并且将他们通过构造函数传给基本类。 + 当编写一个从另一个组件衍生的组件的时候,我们要格外小心。如果基础组件有注入的依赖,我们必须要在衍生类中重新提供和重新注入它们,并且将它们通过构造函数传给基本类。 In this contrived example, `SortedHeroesComponent` inherits from `HeroesBaseComponent` to display a *sorted* list of heroes. diff --git a/public/docs/ts/latest/cookbook/dynamic-form.jade b/public/docs/ts/latest/cookbook/dynamic-form.jade index e69c3bc8ee..02b28553b3 100644 --- a/public/docs/ts/latest/cookbook/dynamic-form.jade +++ b/public/docs/ts/latest/cookbook/dynamic-form.jade @@ -5,7 +5,7 @@ include ../_util-fns especially if we'll need a great number of them, they're similar to each other, and they change frequently to meet rapidly changing business and regulatory requirements. - 我们不可能一直觉得手动编写表单和需要的工作量和时间成正比,特别是当我们需要编写大量的表单,他们非常类似,而且他们需要随着商务和政策需求的迅速变化而变化。 + 我们不可能一直觉得手动编写表单和需要的工作量和时间成正比,特别是当我们需要编写大量的表单,它们非常类似,而且它们需要随着商务和政策需求的迅速变化而变化。 It may be more economical to create the forms dynamically, based on metadata that describe the business object model. @@ -166,7 +166,7 @@ include ../_util-fns Although in this example we're modelling a job application for heroes, there are no references to any specific hero question outside the objects returned by `QuestionService`. - 虽然在这个例子中,我们是在为英雄工作申请表建模,但是除了`QuestionService`返回的对象外,没有其他任何地方有指定英雄问卷相关的内容。 + 虽然在这个例子中,我们是在为英雄工作申请表建模,但是除了`QuestionService`返回的对象外,没有其它任何地方有指定英雄问卷相关的内容。 This is very important since it allows us to repurpose the components for any type of survey as long as it's compatible with our *question* object model. diff --git a/public/docs/ts/latest/glossary.jade b/public/docs/ts/latest/glossary.jade index be49cb1027..a72c81b057 100644 --- a/public/docs/ts/latest/glossary.jade +++ b/public/docs/ts/latest/glossary.jade @@ -318,7 +318,7 @@ include _util-fns that it decorates. None of the decorations shown here will "leak" to other classes appearing below it in the file. - 一个装饰器的作用范围会被限制在它所装饰的东西上,这是一个语言级特性。在上面这个例子中,就算其他类在同一个文件中紧跟着上面的类也不会有任何装饰器“泄露”到其他类。 + 一个装饰器的作用范围会被限制在它所装饰的东西上,这是一个语言级特性。在上面这个例子中,就算其它类在同一个文件中紧跟着上面的类也不会有任何装饰器“泄露”到其它类。 .alert.is-important :marked @@ -349,7 +349,7 @@ include _util-fns part "A" relies on another part "B", we say that "A" depends on "B" and that "B" is a dependency of "A". - 这些小部件通常会依赖其他小部件。一个Angular[组件](#component)可能依赖一个“服务”部件来获取数据或者处理运算。当部件A要靠另一个部件B才能工作,我们就说A依赖B,B是A的“依赖”。 + 这些小部件通常会依赖其它小部件。一个Angular[组件](#component)可能依赖一个“服务”部件来获取数据或者处理运算。当部件A要靠另一个部件B才能工作,我们就说A依赖B,B是A的“依赖”。 We can ask a "Dependency Injection System" to create "A" for us and handle all the dependencies. @@ -471,7 +471,7 @@ include _util-fns :marked The [official JavaScript language specification](https://en.wikipedia.org/wiki/ECMAScript). - [官方Javascript语言规范](https://en.wikipedia.org/wiki/ECMAScript) + [官方JavaScript语言规范](https://en.wikipedia.org/wiki/ECMAScript) The latest approved version of JavaScript is [ECMAScript 2015](http://www.ecma-international.org/ecma-262/6.0/) @@ -485,7 +485,7 @@ include _util-fns Applications written in ES2015 or one of its dialects must be "[transpiled](#transpile)" to ES5 JavaScript. - 目前,几乎所有现代游览器都只支持上一版本“ECMAScript 5” (也就是ES5)标准。使用ES2015或者其他兼容语言开发的应用程序,都必须被编译“[transpiled](#transpile)”成ES5 Javascript。 + 目前,几乎所有现代游览器都只支持上一版本“ECMAScript 5” (也就是ES5)标准。使用ES2015或者其它兼容语言开发的应用程序,都必须被编译“[transpiled](#transpile)”成ES5 JavaScript。 Angular 2 developers may choose to write in ES5 directly. @@ -609,7 +609,7 @@ include _util-fns [Directives](#directive) and [Components](#component) have a lifecycle managed by Angular as it creates, updates and destroys them. - [指令Directives](#directive)和[组件Components](#component)有生命周期,由Angular在创建、更新和销毁他们的过程中管理。 + [指令Directives](#directive)和[组件Components](#component)有生命周期,由Angular在创建、更新和销毁它们的过程中管理。 Developers can tap into key moments in that lifecycle by implementing one or more of the "Lifecycle Hook" interfaces. @@ -665,7 +665,7 @@ include _util-fns In general, we assemble our application from many modules, both the ones we write ourselves and the ones we acquire from others. - 一般来说,我们用模块来组装我们的应用程序,这些模块包含我们自己编写的模块和从其他地方获取的模块。 + 一般来说,我们用模块来组装我们的应用程序,这些模块包含我们自己编写的模块和从其它地方获取的模块。 A typical module is a cohesive block of code dedicated to a single purpose. @@ -792,7 +792,7 @@ include _util-fns There are other ways to create tokens and recipes. See [Dependency Injection](#dependency-injection) chapter to learn more. - 还有其他一些方法建立Token和方剂。 + 还有其它一些方法建立Token和方剂。 请看[依赖注入Dependency Injection](#dependency-injection)以获取更多信息。 .l-main-section @@ -808,7 +808,7 @@ include _util-fns and taking other similar actions that cause the application to replace one view with another. - 大部分应用程序包含多个屏或视图[views](#view)。用户通过点击链接、按钮和其他类似动作,在他们之间穿梭,这样应用程序从一个视图变换到另一个视图。 + 大部分应用程序包含多个屏或视图[views](#view)。用户通过点击链接、按钮和其它类似动作,在它们之间穿梭,这样应用程序从一个视图变换到另一个视图。 The Angular [Component Router](guide/router.html) is a richly featured mechanism for configuring and managing the entire view navigation process including the creation and destruction @@ -933,7 +933,7 @@ include _util-fns TypeScript is the preferred language for Angular 2 development although we are welcome to write in other JavaScript dialects such as [ES5](#es5). - TypeScript是Angular 2推荐使用的语言,当然,我们也欢迎使用其他JavaScript语言,比如[ES5](#es5)。 + TypeScript是Angular 2推荐使用的语言,当然,我们也欢迎使用其它JavaScript语言,比如[ES5](#es5)。 Angular 2 itself is written in TypeScript. @@ -971,7 +971,7 @@ include _util-fns dynamically as the user navigates through the application, typically under the control of a [router](#router). - 视图一般包含其他视图,任何视图在用户在应用程序中导航的时候,可能被动态加载或卸载,一般[路由器](#router)的控制下进行。 + 视图一般包含其它视图,任何视图在用户在应用程序中导航的时候,可能被动态加载或卸载,一般[路由器](#router)的控制下进行。 .l-main-section diff --git a/public/docs/ts/latest/guide/_data.json b/public/docs/ts/latest/guide/_data.json index 43cfb4752b..42969ebb71 100644 --- a/public/docs/ts/latest/guide/_data.json +++ b/public/docs/ts/latest/guide/_data.json @@ -17,7 +17,7 @@ "displaying-data": { "title": "显示数据", - "intro": "利用插值表达式和其他形式的属性绑定机制,把数据显示到UI上。", + "intro": "利用插值表达式和其它形式的属性绑定机制,把数据显示到UI上。", "nextable": true, "basics": true }, diff --git a/public/docs/ts/latest/guide/architecture.jade b/public/docs/ts/latest/guide/architecture.jade index 08bddc36d6..a2e18c59cd 100644 --- a/public/docs/ts/latest/guide/architecture.jade +++ b/public/docs/ts/latest/guide/architecture.jade @@ -295,7 +295,7 @@ figure What are `*ngFor`, `{{hero.name}}`, `(click)`, `[hero]`, and ``? 我们认得`

`和`
`。 - 但有一些其他的标签/属性是我们在学校中从没有听说过的。 + 但有一些其它的标签/属性是我们在学校中从没有听说过的。 什么是`*ngFor`、`{{hero.name}}`、`(click)`、`[hero]`和``? These are examples of Angular's [template syntax](template-syntax.html). @@ -579,7 +579,7 @@ figure **Attribute** directives alter the appearance or behavior of an existing element. In templates they look like regular HTML attributes, hence the name. - **属性型指令** 修改一个现有元素的外观或行为。在模板中,他们看起来就像是标准的HTML属性,故名。 + **属性型指令** 修改一个现有元素的外观或行为。在模板中,它们看起来就像是标准的HTML属性,故名。 The `ngModel` directive, which implements two-way data binding, is an example of an attribute directive. @@ -814,13 +814,13 @@ figure and it's more than enough to get going. But it doesn't include everything we'll need or want to know. - 这是Angular应用中所有其他东西的基础,而且它已经绰绰有余了。 + 这是Angular应用中所有其它东西的基础,而且它已经绰绰有余了。 但它还没有包括我们所要用的或想知道的一切。 .l-main-section :marked ## The Other Stuff - ## 其他东西 + ## 其它东西 Here is a brief, alphabetical list of other important Angular features and services. Most of them are covered in this Developers Guide (or soon will be): diff --git a/public/docs/ts/latest/guide/cheatsheet-cn.json b/public/docs/ts/latest/guide/cheatsheet-cn.json index 0cca92207e..91961c261c 100644 --- a/public/docs/ts/latest/guide/cheatsheet-cn.json +++ b/public/docs/ts/latest/guide/cheatsheet-cn.json @@ -347,7 +347,7 @@ "bold": [ "constructor(myService: MyService, ...)" ], - "description": "

类的构造函数会在所有其他生命周期钩子之前调用。使用它来注入依赖,但是要避免用它做较重的工作。

\n" + "description": "

类的构造函数会在所有其它生命周期钩子之前调用。使用它来注入依赖,但是要避免用它做较重的工作。

\n" }, { "syntax": "ngOnChanges(changeRecord) { ... }", diff --git a/public/docs/ts/latest/guide/displaying-data.jade b/public/docs/ts/latest/guide/displaying-data.jade index 2bc0b38c09..11fc5747c2 100644 --- a/public/docs/ts/latest/guide/displaying-data.jade +++ b/public/docs/ts/latest/guide/displaying-data.jade @@ -367,7 +367,7 @@ figure.image-display we were conditionally including or excluding a big chunk of HTML with many data bindings. Angular并不是在显示和隐藏这条消息,它是在从DOM中添加和移除这段元素。 - 在这个范例中,他们几乎等价。但是如果我们要根据条件包含或排除一大段具有很多数据绑定的HTML,性能上的区别就会很明显。 + 在这个范例中,它们几乎等价。但是如果我们要根据条件包含或排除一大段具有很多数据绑定的HTML,性能上的区别就会很明显。 :marked Try it out. Because the array has four items, the message should appear. Go back into `app.component.ts` and delete or comment out one of the elements from the hero array. diff --git a/public/docs/ts/latest/guide/forms.jade b/public/docs/ts/latest/guide/forms.jade index d3551efc4d..c540bbceee 100644 --- a/public/docs/ts/latest/guide/forms.jade +++ b/public/docs/ts/latest/guide/forms.jade @@ -444,7 +444,7 @@ figure.image-display from the interpolated text. At some point it might look like this. - 如果我们现在运行这个应用,并且开始在 *姓名* 输入框中键入、添加和删除字符,我们将看到他们从插值结果中显示和消失。 + 如果我们现在运行这个应用,并且开始在 *姓名* 输入框中键入、添加和删除字符,我们将看到它们从插值结果中显示和消失。 某一瞬间,它看起来可能是这样。 figure.image-display img(src="/resources/images/devguide/forms/ng-model-in-action.png" width="400px" alt="操作中的ngModel") @@ -948,7 +948,7 @@ figure.image-display control* is valid. `NgForm`指令使用额外的特性扩充了`form`元素。 - 它保存我们通过`ngControl`属性为各个元素创建的控件类,并且监听他们的属性变化,包括有效性。 + 它保存我们通过`ngControl`属性为各个元素创建的控件类,并且监听它们的属性变化,包括有效性。 它还有自己的`valid`属性,只有当 *每一个被包含的控件* 都有效时,它才有效。 :marked diff --git a/public/docs/ts/latest/guide/index.jade b/public/docs/ts/latest/guide/index.jade index b9b402f062..bf39ebf289 100644 --- a/public/docs/ts/latest/guide/index.jade +++ b/public/docs/ts/latest/guide/index.jade @@ -170,7 +170,7 @@ table(width="100%") 少量早期的章节是作为教程来写的,并且被清晰地标注出来。 但大部分章节都不是教程。 - 他们的目的是展示代码中的关键点,而不是解释构建这个范例所需的每一个步骤。 + 它们的目的是展示代码中的关键点,而不是解释构建这个范例所需的每一个步骤。 我们总能从鲜活范例的链接找到完整的源代码。 ## References diff --git a/public/docs/ts/latest/guide/style-guide.jade b/public/docs/ts/latest/guide/style-guide.jade index 8b0aca4766..f32f6647c6 100644 --- a/public/docs/ts/latest/guide/style-guide.jade +++ b/public/docs/ts/latest/guide/style-guide.jade @@ -14,7 +14,7 @@ include ../_util-fns The purpose of this style guide is to provide guidance on building Angular applications by showing the conventions we use and, more importantly, why we choose them. - 本风格指南的目的是,通过展示我们使用的规则,更加重要的,展示我们为什么要选择他们,来为建造Angular应用程序提供一个向导。 + 本风格指南的目的是,通过展示我们使用的规则,更加重要的,展示我们为什么要选择它们,来为建造Angular应用程序提供一个向导。 .l-main-section :marked @@ -102,7 +102,7 @@ a(id='toc') We apply the [Single Responsibility Principle](https:\/\/en.wikipedia.org/wiki/Single_responsibility_principle) to all Components, Services, and other symbols we create. This helps make our app cleaner, easier to read and maintain, and more testable. - 我们对我们创建的所有组件、服务和其他标志等,应用[单一职责原则](https:\/\/en.wikipedia.org/wiki/Single_responsibility_principle)。这样能帮助把我们的应用程序弄的干净、易读、易于维护和易测试。 + 我们对我们创建的所有组件、服务和其它标志等,应用[单一职责原则](https:\/\/en.wikipedia.org/wiki/Single_responsibility_principle)。这样能帮助把我们的应用程序弄的干净、易读、易于维护和易测试。 ### Rule of One ### 单一规则 @@ -198,7 +198,7 @@ a(href="#toc") 回到顶部 :marked **Why?** Small functions are easier to test, especially when they do one thing and serve one purpose. - **为什么?** 小函数更加容易被测试,特别是当他们只做一件事,为一个目的服务的时候。 + **为什么?** 小函数更加容易被测试,特别是当它们只做一件事,为一个目的服务的时候。 .s-why :marked @@ -308,7 +308,7 @@ a(href="#toc") 回到顶部 :marked **Do** use conventional suffixes for the types including `*.service.ts`, `*.component.ts`, `*.pipe.ts`. Invent other suffixes where desired, but take care in having too many. - **做** 使用依照惯例的后缀来描述类型,包括`*.service.ts`、`*.component.ts`、`*.pipe.ts`。如果你想,你可以发明其他的后缀,但是请注意不要有太多。 + **做** 使用依照惯例的后缀来描述类型,包括`*.service.ts`、`*.component.ts`、`*.pipe.ts`。如果你想,你可以发明其它的后缀,但是请注意不要有太多。 .s-why :marked @@ -344,7 +344,7 @@ a(href="#toc") 回到顶部 .s-rule.do :marked **Do** use consistent names for all assets named after what they represent. - **做** 为所有财产的使用统一的命名:以他们所代表的东西命名 + **做** 为所有财产的使用统一的命名:以它们所代表的东西命名 .s-rule.do :marked diff --git a/public/docs/ts/latest/guide/template-syntax.jade b/public/docs/ts/latest/guide/template-syntax.jade index 655efd11ed..b096f393bc 100644 --- a/public/docs/ts/latest/guide/template-syntax.jade +++ b/public/docs/ts/latest/guide/template-syntax.jade @@ -298,7 +298,7 @@ include ../_util-fns where it will be easier to develop and test. 一个属性名或方法调用属于常态。偶尔的逻辑取反(`!`)也还凑合。 - 其他情况下,组件会自己界定应用逻辑和业务逻辑,它将让开发和测试变得更容易。 + 其它情况下,组件会自己界定应用逻辑和业务逻辑,它将让开发和测试变得更容易。 #### Idempotence #### 幂等性 diff --git a/public/docs/ts/latest/quickstart.jade b/public/docs/ts/latest/quickstart.jade index c1ecedf7c6..62f875f0c6 100644 --- a/public/docs/ts/latest/quickstart.jade +++ b/public/docs/ts/latest/quickstart.jade @@ -328,7 +328,7 @@ a(id="component-import") Angular apps are modular. They consist of many files each dedicated to a purpose. - Angular的应用都是模块化的。他们由很多职责明确的文件组成。 + Angular的应用都是模块化的。它们由很多职责明确的文件组成。 Angular itself is modular. It is a collection of library modules each made up of several, related features that we'll use to build our application. @@ -413,7 +413,7 @@ a(id="component-import") We **export** `AppComponent` so that we can **import** it elsewhere in our application, as we'll see when we create `main.ts`. - 我们 **导出** `AppComponent`,以便我们可以在应用的其他地方 **导入** 它 —— 比如我们创建`main.ts`时。 + 我们 **导出** `AppComponent`,以便我们可以在应用的其它地方 **导入** 它 —— 比如我们创建`main.ts`时。 a(id="main") .l-main-section :marked diff --git a/public/docs/ts/latest/testing/first-app-tests.jade b/public/docs/ts/latest/testing/first-app-tests.jade index b3d975c35c..3cf47233c8 100644 --- a/public/docs/ts/latest/testing/first-app-tests.jade +++ b/public/docs/ts/latest/testing/first-app-tests.jade @@ -25,7 +25,7 @@ include ../_util-fns the [Tour of Heroes](../tutorial/) tutorial such as npm, gulp, and live-server. - 本单元测试章节是在其他章节的基础上编写的。我们建议你按顺序阅读他们。我们同时假设你已经对Angular 2的原理、在[快速开始](../quickstart.html)里介绍的工具、 + 本单元测试章节是在其它章节的基础上编写的。我们建议你按顺序阅读它们。我们同时假设你已经对Angular 2的原理、在[快速开始](../quickstart.html)里介绍的工具、 [英雄指南](../tutorial)和npm, gulp, and live-server等工具都所有了解。 .l-main-section diff --git a/public/docs/ts/latest/testing/jasmine-testing-101.jade b/public/docs/ts/latest/testing/jasmine-testing-101.jade index 43582e2603..d9d97bf683 100644 --- a/public/docs/ts/latest/testing/jasmine-testing-101.jade +++ b/public/docs/ts/latest/testing/jasmine-testing-101.jade @@ -71,7 +71,7 @@ pre.prettyprint.lang-bash :marked In the head we have three Jasmine scripts and one Jasmine css file. That’s the foundation for running any tests. - 在head里面,我们有三个Jasmine脚本和一个Jasmine css文件。他们是运行任何测试的奠基石。 + 在head里面,我们有三个Jasmine脚本和一个Jasmine css文件。它们是运行任何测试的奠基石。 We’ll write our first test with inline JavaScript inside the body tag: @@ -163,7 +163,7 @@ pre.prettyprint.lang-bash what `it` and `expect` are because they lack the typing files that describe Jasmine. We can ignore those annoying complaints for now as they are harmless. - 我们的编辑器和编译器可能会抱怨,说他们不知道什么是`it`和`expect`,因为他们缺少描述Jasmine的typing文件。我们暂时可以忽略这些讨厌的抱怨,他们目前并无害处。 + 我们的编辑器和编译器可能会抱怨,说它们不知道什么是`it`和`expect`,因为它们缺少描述Jasmine的typing文件。我们暂时可以忽略这些讨厌的抱怨,它们目前并无害处。 :marked If we reload the browser, we should see the same Jasmine test-runner output as before. @@ -193,7 +193,7 @@ pre.prettyprint.lang-bash .l-main-section :marked ## Add a describe and another test - ## 添加一个describe和其他测试 + ## 添加一个describe和其它测试 We can’t tell what file produced these test results. We only have one file at the moment but soon we’ll write more. diff --git a/public/docs/ts/latest/tutorial/toh-pt1.jade b/public/docs/ts/latest/tutorial/toh-pt1.jade index 81663682a6..d8625856d4 100644 --- a/public/docs/ts/latest/tutorial/toh-pt1.jade +++ b/public/docs/ts/latest/tutorial/toh-pt1.jade @@ -279,6 +279,6 @@ code-example(language="html"). [next tutorial chapter](./toh-pt2.html). 我们的《英雄指南》只显示了一个英雄,而我们真正想显示的是一个英雄列表。 - 我们还希望允许用户选择一个英雄,并且显示他们的详情。 + 我们还希望允许用户选择一个英雄,并且显示他的详情。 我们还将学习更多:接收一个列表、把它们绑定到模板,以及让用户选择它。 这些都在[教程的下一章](./toh-pt2.html)。 diff --git a/public/docs/ts/latest/tutorial/toh-pt3.jade b/public/docs/ts/latest/tutorial/toh-pt3.jade index 3a8c37135b..efb2d35e0f 100644 --- a/public/docs/ts/latest/tutorial/toh-pt3.jade +++ b/public/docs/ts/latest/tutorial/toh-pt3.jade @@ -121,7 +121,7 @@ code-example(format="." language="bash"). Then we export the class to make it available to other components. 我们使用`@Component`装饰器创建元数据,在元数据中,我们指定选择器的名字,用以标记此组件的元素。 - 然后,我们导出这个类,以便其他组件可以使用它。 + 然后,我们导出这个类,以便其它组件可以使用它。 When we finish here, we'll import it into `AppComponent` and create a corresponding `` element. diff --git a/public/docs/ts/latest/tutorial/toh-pt4.jade b/public/docs/ts/latest/tutorial/toh-pt4.jade index 7af5e3047f..bb04bd5ce2 100644 --- a/public/docs/ts/latest/tutorial/toh-pt4.jade +++ b/public/docs/ts/latest/tutorial/toh-pt4.jade @@ -484,7 +484,7 @@ code-example(format="." language="html"). :marked We are simplifying. Learn about ES2015 Promises [here](http://exploringjs.com/es6/ch_promises.html) and elsewhere on the web. - 这里只是粗浅的说说,要了解更多,请参见[这里](http://exploringjs.com/es6/ch_promises.html)以及在Web上搜索其他学习资源。 + 这里只是粗浅的说说,要了解更多,请参见[这里](http://exploringjs.com/es6/ch_promises.html)以及在Web上搜索其它学习资源。 :marked Update the `HeroService` with this promise-returning `getHeroes` method: diff --git a/public/docs/ts/latest/tutorial/toh-pt5.jade b/public/docs/ts/latest/tutorial/toh-pt5.jade index fd5ae80102..5a1e0b8b1b 100644 --- a/public/docs/ts/latest/tutorial/toh-pt5.jade +++ b/public/docs/ts/latest/tutorial/toh-pt5.jade @@ -385,7 +385,7 @@ code-example(format="." language="bash"). we call this type of component a *Router Component*. *AppComponent* 现在有了一个路由器,并且能显示路由到的视图。 - 因此,为了把它从其他种类的组件中区分出来,我们称这类组件为 *路由器组件*。 + 因此,为了把它从其它种类的组件中区分出来,我们称这类组件为 *路由器组件*。 :marked ## Add a *Dashboard*