diff --git a/public/docs/ts/latest/guide/displaying-data.jade b/public/docs/ts/latest/guide/displaying-data.jade index 7bf7ab4209..4278ac7592 100644 --- a/public/docs/ts/latest/guide/displaying-data.jade +++ b/public/docs/ts/latest/guide/displaying-data.jade @@ -12,11 +12,11 @@ block includes You'll display the list of hero names and conditionally show a message below the list. - 本章中,我们将创建一个英雄列表组件。我们将显示英雄名字的列表,当选中一位英雄时,就在列表下方显示一条消息。 + 本章中,我们将创建一个英雄列表组件。我们将显示英雄名字的列表,并在列表下方显示一条消息。 The final UI looks like this: - 最终的UI是这样的: + 最终的用户界面是这样的: figure.image-display img(src="/resources/images/devguide/displaying-data/final.png" alt="Final UI") @@ -48,8 +48,8 @@ figure.image-display is to bind the property name through interpolation. With interpolation, you put the property name in the view template, enclosed in double curly braces: `{{myHero}}`. - 要显示组件的属性,最简单的方式就是通过插值表达式(Interpolation)来绑定属性名。 - 要使用插值表达式,就把属性名包裹在双重花括号里放进视图模板,如`{{myHero}}`。 + 要显示组件的属性,最简单的方式就是通过插值表达式(interpolation)来绑定属性名。 + 要使用插值表达式,就把属性名包裹在双花括号里放进视图模板,如`{{myHero}}`。 To build an illustrative example, start by creating a new project folder called and following the steps in [QuickStart](../quickstart.html). @@ -71,7 +71,7 @@ figure.image-display :marked You added two properties to the formerly empty component: `title` and `myHero`. - 再把两个属性`title`和`myHero`添加到之前空白的组件中。 + 再把两个属性`title`和`myHero`添加到之前空白的组件中。 The revised template displays the two component properties using double curly brace interpolation: @@ -88,22 +88,22 @@ figure.image-display quote (`'`)—allows you to compose a string over several lines, which makes the HTML more readable. - 模板是包在反引号(\`)中的一个多行字符串。 - 反引号(\`) —— 注意,不是单引号(') —— 有很多好用的特性。 - 我们在这里用到的是它把一个字符串写在多行上的能力,这样我们的HTML模板就会更容易阅读。 + 模板是包在ECMAScript 2015反引号(\`)中的一个多行字符串。 + 反引号(\`) —— 注意,不是单引号(') —— 允许把一个字符串写在多行上, + 使HTML模板更容易阅读。 :marked Angular automatically pulls the value of the `title` and `myHero` properties from the component and inserts those values into the browser. Angular updates the display when these properties change. - Angular会自动从组件中提取`title`和`myHero`属性的值,并且把这些值插入浏览器中。一旦这些属性发生变化,Angular就会自动刷新显示。 + Angular自动从组件中提取`title`和`myHero`属性的值,并且把这些值插入浏览器中。当这些属性发生变化时,Angular就会自动刷新显示。 .l-sub-section :marked More precisely, the redisplay occurs after some kind of asynchronous event related to the view, such as a keystroke, a timer completion, or a response to an HTTP request. - 严格来说,“重新显示”是在某些与视图有关的异步事件之后发生的,比如:按键、定时器或收到异步`XHR`响应。 + 严格来说,“重新显示”是在某些与视图有关的异步事件之后发生的,比如:按键、定时器完成或对HTTP请求的响应。 :marked Notice that you don't call **new** to create an instance of the `AppComponent` class. @@ -130,7 +130,7 @@ figure.image-display Now run the app. It should display the title and hero name: - 试一下本应用。它应该显示出标题和英雄名。 + 试一下本应用。它应该显示出标题和英雄名。 figure.image-display img(src="/resources/images/devguide/displaying-data/title-and-hero.png" alt="Title and Hero") @@ -139,12 +139,12 @@ figure.image-display :marked The next few sections review some of the coding choices in the app. - 我们来回顾一下以前所做的决定,看看还有哪些其它选择。 + 我们来回顾一下以前所做的决定,看看还有哪些其它选择。 :marked ## Template inline or template file? - ## 内联(inline)模板还是模板文件? + ## 内联(inline)模板还是模板文件? You can store your component's template in one of two places. You can define it *inline* using the `template` property, or you can define @@ -152,16 +152,16 @@ figure.image-display the component metadata using the `@Component` !{_decorator}'s `templateUrl` property. 我们有两种地方可以用来存放组件模板。 - 我们可以使用`template`属性把它定义为 *内联* 的,就像这里所做的一样。 - 或者,可以把模板定义在一个独立的HTML文件中,并且通过在`@Component`装饰器中的`templateUrl`属性把它链接到组件。 + 我们可以使用`template`属性把它定义为 *内联* 的,或者把模板定义在一个独立的HTML文件中, + 并通过在`@Component`装饰器中的`templateUrl`属性把它链接到组件。 The choice between inline and separate HTML is a matter of taste, circumstances, and organization policy. Here the app uses inline HTML because the template is small and the demo is simpler without the additional HTML file. - 到底选择内联HTML还是独立HTML取决于:个人喜好、具体状况和组织级策略。 - 这里我们选择内联HTML,是因为模板很小,而且这个演示很简单,没有别的HTML文件。 + 到底选择内联HTML还是独立HTML取决于个人喜好、具体状况和组织级策略。 + 这里我们选择内联HTML,是因为模板很小,而且没有额外的HTML文件显得这个演示简单些。 In either style, the template data bindings have the same access to the component's properties. @@ -171,11 +171,11 @@ figure.image-display :marked ## Constructor or variable initialization? - ## 初始化:使用构造函数还是变量? + ## 使用构造函数还是变量初始化? Although this example uses variable assignment to initialize the components, you can instead declare and initialize the properties using a constructor: - 虽然这个例子使用了变量赋值的方式初始化组件的属性。你可以使用构造函数来声明和初始化属性。 + 虽然这个例子使用了变量赋值的方式初始化组件,你还可以使用构造函数来声明和初始化属性。 +makeExcerpt('app/app-ctor.component.ts', 'class') @@ -192,7 +192,7 @@ figure.image-display To display a list of heroes, begin by adding !{_an} !{_array} of hero names to the component and redefine `myHero` to be the first name in the !{_array}. - 我们准备显示一个英雄列表。先往组件中添加一个英雄名字数组,然后把`myHero`重定义为数组中的第一个名字。 + 要显示一个英雄列表,先向组件中添加一个英雄名字数组,然后把`myHero`重定义为数组中的第一个名字。 +makeExcerpt('app/app.component.2.ts', 'class') @@ -200,7 +200,7 @@ figure.image-display Now use the Angular `ngFor` directive in the template to display each item in the `heroes` list. - 现在,我们在模板中使用Angular的`ngFor`“重复器”指令来显示`heroes`列表中的每一个条目。 + 现在,我们在模板中使用Angular的`ngFor`指令来显示`heroes`列表中的每一项。 +makeExcerpt('app/app.component.2.ts', 'template') @@ -210,7 +210,7 @@ figure.image-display It marks that `
  • ` element (and its children) as the "repeater template": 这个界面使用了由`