把alternative统一改为备选或替代品(取决于语境)
This commit is contained in:
parent
dca575f617
commit
64b9e476fb
@ -66,7 +66,7 @@ include ../_util-fns
|
|||||||
|
|
||||||
[Define providers with object literals](#object-literals)
|
[Define providers with object literals](#object-literals)
|
||||||
|
|
||||||
[使用对象文本定义供应商] (#object-literals)
|
[使用对象字面量定义供应商] (#object-literals)
|
||||||
|
|
||||||
[Provider token alternatives](#tokens)
|
[Provider token alternatives](#tokens)
|
||||||
|
|
||||||
@ -696,7 +696,7 @@ figure.image-display
|
|||||||
|
|
||||||
The `HeroOfTheMonthComponent` example demonstrates many of the alternatives and why we need them.
|
The `HeroOfTheMonthComponent` example demonstrates many of the alternatives and why we need them.
|
||||||
|
|
||||||
`HeroOfTheMonthComponent`例子示范了一些备选方案,展示了为什么需要它们。
|
`HeroOfTheMonthComponent`例子示范了一些替代方案,展示了为什么需要它们。
|
||||||
|
|
||||||
figure.image-display
|
figure.image-display
|
||||||
img(src="/resources/images/cookbooks/dependency-injection/hero-of-month.png" alt="Hero of the month" width="300px")
|
img(src="/resources/images/cookbooks/dependency-injection/hero-of-month.png" alt="Hero of the month" width="300px")
|
||||||
@ -789,7 +789,7 @@ a(id='useclass')
|
|||||||
The alternative could implement a different strategy, extend the default class,
|
The alternative could implement a different strategy, extend the default class,
|
||||||
or fake the behavior of the real class in a test case.
|
or fake the behavior of the real class in a test case.
|
||||||
|
|
||||||
使用该技术来为公共或默认类***提供候选实现***。该候选项能实现一个不同的策略,比如拓展默认类或者在测试的时候假冒真实类。
|
使用该技术来为公共或默认类***提供备选实现***。该替代品能实现一个不同的策略,比如拓展默认类或者在测试的时候假冒真实类。
|
||||||
|
|
||||||
We see two examples in the `HeroOfTheMonthComponent`:
|
We see two examples in the `HeroOfTheMonthComponent`:
|
||||||
|
|
||||||
@ -933,7 +933,7 @@ a(id="tokens")
|
|||||||
:marked
|
:marked
|
||||||
## Provider token alternatives: the *class-interface* and *OpaqueToken*
|
## Provider token alternatives: the *class-interface* and *OpaqueToken*
|
||||||
|
|
||||||
## 可选供应商令牌:*类-接口*和*OpaqueToken*
|
## 备选供应商令牌:*类-接口*和*OpaqueToken*
|
||||||
|
|
||||||
Angular dependency injection is easiest when the provider *token* is a class
|
Angular dependency injection is easiest when the provider *token* is a class
|
||||||
that is also the type of the returned dependency object (what we usually call the *service*).
|
that is also the type of the returned dependency object (what we usually call the *service*).
|
||||||
|
@ -186,7 +186,7 @@ figure
|
|||||||
For example, we import the Angular **`Component` *function*** from the *@angular/core* module like this:
|
For example, we import the Angular **`Component` *function*** from the *@angular/core* module like this:
|
||||||
|
|
||||||
从Angular模块库中导入所需内容的方式都差不多。
|
从Angular模块库中导入所需内容的方式都差不多。
|
||||||
比如,从*@angular2/core*中导入Angular **`Component`*函数***的代码是这样的:
|
比如,从*@angular/core*中导入Angular **`Component`*函数***的代码是这样的:
|
||||||
|
|
||||||
+makeExample('architecture/ts/app/app.component.ts', 'import')(format=".")
|
+makeExample('architecture/ts/app/app.component.ts', 'import')(format=".")
|
||||||
:marked
|
:marked
|
||||||
|
@ -787,7 +787,7 @@ code-example(format="nocode").
|
|||||||
We could give it a provider that calls a logger factory function.
|
We could give it a provider that calls a logger factory function.
|
||||||
Any of these approaches might be a good choice under the right circumstances.
|
Any of these approaches might be a good choice under the right circumstances.
|
||||||
|
|
||||||
我们可以使用另外的各种供应商来配置这个注入器,只要它们能交付#{objectlikeCn}`Logger`就可以了。
|
我们可以使用其它备选供应商来配置这个注入器,只要它们能交付#{objectlikeCn}`Logger`就可以了。
|
||||||
我们可以提供一个替身类。#{loggerlikeCn}
|
我们可以提供一个替身类。#{loggerlikeCn}
|
||||||
我们可以给它一个供应商,让它调用一个可以创建日志服务的工厂函数。
|
我们可以给它一个供应商,让它调用一个可以创建日志服务的工厂函数。
|
||||||
所有这些方法,只要用在正确的场合,都可能是一个好的选择。
|
所有这些方法,只要用在正确的场合,都可能是一个好的选择。
|
||||||
@ -839,7 +839,7 @@ block provider-ctor-args
|
|||||||
:marked
|
:marked
|
||||||
### Alternative class providers
|
### Alternative class providers
|
||||||
|
|
||||||
### 其他的“类”供应商
|
### 备选的“类”供应商
|
||||||
|
|
||||||
Occasionally we'll ask a different class to provide the service.
|
Occasionally we'll ask a different class to provide the service.
|
||||||
The following code tells the injector
|
The following code tells the injector
|
||||||
|
@ -826,7 +826,7 @@ h2#cors 跨域请求:Wikipedia范例
|
|||||||
Some servers do not support CORS but do support an older, read-only alternative called [JSONP](https://en.wikipedia.org/wiki/JSONP).
|
Some servers do not support CORS but do support an older, read-only alternative called [JSONP](https://en.wikipedia.org/wiki/JSONP).
|
||||||
Wikipedia is one such server.
|
Wikipedia is one such server.
|
||||||
|
|
||||||
有些服务器不支持CORS,但支持一种老的、只读的(译注:即仅支持GET)替代协议,这就是[JSONP](https://en.wikipedia.org/wiki/JSONP)。
|
有些服务器不支持CORS,但支持一种老的、只读的(译注:即仅支持GET)备选协议,这就是[JSONP](https://en.wikipedia.org/wiki/JSONP)。
|
||||||
Wikipedia就是一个这样的服务器。
|
Wikipedia就是一个这样的服务器。
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
:marked
|
:marked
|
||||||
|
@ -2228,7 +2228,7 @@ a(href="#toc") 回到顶部
|
|||||||
:marked
|
:marked
|
||||||
**Why?** Angular allows for an [alternative syntax](https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax) `on-*`. If the event itself was prefixed with `on` this would result in an `on-onEvent` binding expression.
|
**Why?** Angular allows for an [alternative syntax](https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax) `on-*`. If the event itself was prefixed with `on` this would result in an `on-onEvent` binding expression.
|
||||||
|
|
||||||
**为何?**Angular允许[可选语法](https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax) `on-*`。如果事件的名字本身带有前缀`on`,那么绑定的表达式可能是`on-onEvent`。
|
**为何?**Angular允许[另一种备选语法](https://angular.io/docs/ts/latest/guide/template-syntax.html#!#binding-syntax) `on-*`。如果事件的名字本身带有前缀`on`,那么绑定的表达式可能是`on-onEvent`。
|
||||||
|
|
||||||
+makeExample('style-guide/ts/05-16/app/heroes/hero.component.avoid.ts', 'example', 'app/heroes/hero.component.ts')(avoid=1)
|
+makeExample('style-guide/ts/05-16/app/heroes/hero.component.avoid.ts', 'example', 'app/heroes/hero.component.ts')(avoid=1)
|
||||||
:marked
|
:marked
|
||||||
|
@ -236,7 +236,7 @@ block template-expressions-cannot
|
|||||||
A [template reference variable](#ref-vars) is one such alternative context object.
|
A [template reference variable](#ref-vars) is one such alternative context object.
|
||||||
|
|
||||||
表达式的上下文也包括组件之外的对象。
|
表达式的上下文也包括组件之外的对象。
|
||||||
[模板引用变量](#ref-vars)就是另外的上下文对象之一。
|
[模板引用变量](#ref-vars)就是备选的上下文对象之一。
|
||||||
|
|
||||||
:marked
|
:marked
|
||||||
<a id="no-side-effects"></a>
|
<a id="no-side-effects"></a>
|
||||||
@ -403,7 +403,7 @@ block statement-context
|
|||||||
representing the "message" or "payload" of the raised event.
|
representing the "message" or "payload" of the raised event.
|
||||||
|
|
||||||
语句上下文可以包含组件之外的对象。
|
语句上下文可以包含组件之外的对象。
|
||||||
[模板引用对象](#ref-vars)就是这些候选上下文对象中的一个。
|
[模板引用对象](#ref-vars)就是这些备选上下文对象中的一个。
|
||||||
在事件绑定语句中,我们将频繁的看到被保留的`$event`符号,它代表来自所触发事件的“消息”或“有效载荷”。
|
在事件绑定语句中,我们将频繁的看到被保留的`$event`符号,它代表来自所触发事件的“消息”或“有效载荷”。
|
||||||
|
|
||||||
### Statement guidelines
|
### Statement guidelines
|
||||||
@ -980,7 +980,7 @@ a(id="one-time-initialization")
|
|||||||
In fact, Angular translates those interpolations into the corresponding property bindings
|
In fact, Angular translates those interpolations into the corresponding property bindings
|
||||||
before rendering the view.
|
before rendering the view.
|
||||||
|
|
||||||
在多数情况下,插值表达式是一个更方便的选择。实际上,在渲染视图之前,Angular就把这些插值表达式翻译成了对应的属性绑定形式。
|
在多数情况下,插值表达式是一个更方便的备选项。实际上,在渲染视图之前,Angular就把这些插值表达式翻译成了对应的属性绑定形式。
|
||||||
|
|
||||||
There is no technical reason to prefer one form to the other.
|
There is no technical reason to prefer one form to the other.
|
||||||
We lean toward readability, which tends to favor interpolation.
|
We lean toward readability, which tends to favor interpolation.
|
||||||
@ -1237,7 +1237,7 @@ block style-property-name-dart-diff
|
|||||||
:marked
|
:marked
|
||||||
Some people prefer the `on-` prefix alternative, known as the *canonical form*:
|
Some people prefer the `on-` prefix alternative, known as the *canonical form*:
|
||||||
|
|
||||||
有些人更喜欢带`on-`前缀的可选形式,称之为*规范形式*:
|
有些人更喜欢带`on-`前缀的备选形式,称之为*规范形式*:
|
||||||
+makeExample('template-syntax/ts/app/app.component.html', 'event-binding-2')(format=".")
|
+makeExample('template-syntax/ts/app/app.component.html', 'event-binding-2')(format=".")
|
||||||
:marked
|
:marked
|
||||||
Element events may be the more common targets, but Angular looks first to see if the name matches an event property
|
Element events may be the more common targets, but Angular looks first to see if the name matches an event property
|
||||||
|
@ -605,7 +605,7 @@ h2#index 步骤4:添加#[code index.html]
|
|||||||
|
|
||||||
本“快速起步”使用<a href="https://github.com/systemjs/systemjs" target="_blank">SystemJS</a>来加载应用和库模块。
|
本“快速起步”使用<a href="https://github.com/systemjs/systemjs" target="_blank">SystemJS</a>来加载应用和库模块。
|
||||||
[以前](#add-config-files)我们曾把`systemjs.config.js`文件添加到项目的根目录。
|
[以前](#add-config-files)我们曾把`systemjs.config.js`文件添加到项目的根目录。
|
||||||
还有一些其它候选者也能很好地工作,比如备受推崇的[webpack](guide/webpack.html)。
|
还有另一些替代方案也能很好的工作,比如备受推崇的[webpack](guide/webpack.html)。
|
||||||
SystemJS是一个好的选择,但要清楚,它只是“选择之一”,而不是“首选项”。
|
SystemJS是一个好的选择,但要清楚,它只是“选择之一”,而不是“首选项”。
|
||||||
|
|
||||||
All module loaders require configuration and all loader configuration
|
All module loaders require configuration and all loader configuration
|
||||||
|
Loading…
x
Reference in New Issue
Block a user