removed provider translation.

This commit is contained in:
Zhimin(Rex) YE 2016-04-24 11:46:09 +01:00
parent 0df0ba171e
commit 91a2278157
2 changed files with 22 additions and 15 deletions

View File

@ -12,7 +12,7 @@ include ../_util-fns
[Application-wide dependencies](#app-wide-dependencies) [Application-wide dependencies](#app-wide-dependencies)
[应用程序全范围依赖](#app-wide-dependencies) [应用程序全依赖](#app-wide-dependencies)
[External module configuration](#external-module-configuration) [External module configuration](#external-module-configuration)
@ -39,11 +39,11 @@ include ../_util-fns
[Define dependencies with providers](#providers) [Define dependencies with providers](#providers)
[使用提供者providers定义依赖](#providers) [使用Provider定义依赖](#providers)
* [The *provide* function](#provide) * [The *provide* function](#provide)
* [*提供者provide*功能](#provide) * [*provide*功能](#provide)
* [useValue - the *value provider*](#usevalue) * [useValue - the *value provider*](#usevalue)
* [useClass - the *class provider*](#useclass) * [useClass - the *class provider*](#useclass)
@ -70,28 +70,35 @@ include ../_util-fns
:marked :marked
**See the [live example](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)** **See the [live example](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)**
of the code supporting this cookbook. of the code supporting this cookbook.
获取本“食谱”的代码支持,**请看[在线例子](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)**。
.l-main-section .l-main-section
<a id="app-wide-dependencies"></a> <a id="app-wide-dependencies"></a>
:marked :marked
## Application-wide dependencies ## Application-wide dependencies
## 应用程序全局依赖
Register providers for dependencies used throughout the application in the root application component, `AppComponent`. Register providers for dependencies used throughout the application in the root application component, `AppComponent`.
在应用程序根组件`AppComponent`注册那些被应用程序全局使用的依赖providers。
In the following example, we import and register several services In the following example, we import and register several services
(the `LoggerService`, `UserContext`, and the `UserService`) (the `LoggerService`, `UserContext`, and the `UserService`)
in the `@Component` metadata `providers` array. in the `@Component` metadata `providers` array.
在下面的例子中,我们在`@Component`元数据的`providers`数组中,导入和注册了几个服务(`LoggerService`, `UserContext`和`UserService`)。
+makeExample('cb-dependency-injection/ts/app/app.component.ts','import-services','app/app.component.ts (excerpt)')(format='.') +makeExample('cb-dependency-injection/ts/app/app.component.ts','import-services','app/app.component.ts (excerpt)')(format='.')
:marked :marked
All of these services are implemented as classes. All of these services are implemented as classes.
Service classes can act as their own providers which is why listing them in the `providers` array Service classes can act as their own providers which is why listing them in the `providers` array
is all the registration we need. is all the registration we need.
所有上面这些服务都是用类来实现的。服务类能充当它们自己的Providers这就是为什么把它们列到一个`providers`数组里是唯一的注册要求。
.l-sub-section .l-sub-section
:marked :marked
A *provider* is something that can create or deliver a service. A *provider* is something that can create or deliver a service.
Angular creates a service instance from a class provider by "new-ing" it. Angular creates a service instance from a class provider by "new-ing" it.
Learn more about providers [below](#providers). Learn more about providers [below](#providers).
一个*provider*
:marked :marked
Now that we've registered these services, Now that we've registered these services,
Angular can inject them into the constructor of *any* component or service, *anywhere* in the application. Angular can inject them into the constructor of *any* component or service, *anywhere* in the application.

View File

@ -101,7 +101,7 @@ include _util-fns
between a "token" or "key" and a dependency [provider](#provider). between a "token" or "key" and a dependency [provider](#provider).
This more rare usage should be clear in context. This more rare usage should be clear in context.
有可能指的是[依赖注入](#dependency-injection)在一个记号(Token)或键值(Key)和一个依赖[提供者](#provider)之间的绑定。 有可能指的是[依赖注入](#dependency-injection)在一个记号(Token)或键值(Key)和一个依赖[Provider](#provider)之间的绑定。
这个用法很少,而且一般都应该在上下文中明确标示。 这个用法很少,而且一般都应该在上下文中明确标示。
:marked :marked
@ -115,7 +115,7 @@ include _util-fns
[dependency injection system](#dependency-injection). [dependency injection system](#dependency-injection).
我们通过一个名叫`bootstrap`的类方法来引导装入Angular应用程序。这个`bootstrap`类方法会识别应用程序的顶级“根”[组件](#component) 我们通过一个名叫`bootstrap`的类方法来引导装入Angular应用程序。这个`bootstrap`类方法会识别应用程序的顶级“根”[组件](#component)
并可能通过[依赖注入系统](#dependency-injection)注册服务[提供者](#provider)。 并可能通过[依赖注入系统](#dependency-injection)注册服务[Provider](#provider)。
One can bootstrap multiple apps in the same `index.html`, each with its own top level root. One can bootstrap multiple apps in the same `index.html`, each with its own top level root.
你可以在同一个`index.html`启动多个程序,每个程序都有自己的顶级根组件。 你可以在同一个`index.html`启动多个程序,每个程序都有自己的顶级根组件。
@ -390,26 +390,26 @@ include _util-fns
If the `Injector` can't find a value for a given token, it creates If the `Injector` can't find a value for a given token, it creates
a new value using a `Provider` for that token. a new value using a `Provider` for that token.
`注入器`维护一个令牌与其对应的依赖值对照图。如果`注入器`不能找到一个令牌对应的依赖值,它就会使用`提供者(Provider)`新建一个依赖值。 `注入器`维护一个令牌与其对应的依赖值对照图。如果`注入器`不能找到一个令牌对应的依赖值,它就会使用`Provider`新建一个依赖值。
A [Provider](#provider) is a recipe for A [Provider](#provider) is a recipe for
creating new instances of a dependency value associated with a particular token. creating new instances of a dependency value associated with a particular token.
一个`提供者(Provider)`(#provider)是一个使用指定令牌来新建其对应的依赖实例的方法。 一个`Provider`(#provider)是一个使用指定令牌来新建其对应的依赖实例的方法。
An injector can only create a value for a given token if it has An injector can only create a value for a given token if it has
a `Provider` for that token in its internal provider registry. a `Provider` for that token in its internal provider registry.
Registering providers is a critical preparatory step. Registering providers is a critical preparatory step.
如果在注入器的内部注册表里面,一个令牌对应的依赖值是一个`提供者`,那么注入器只能为令牌创建一个依赖值。注册提供者是一个非常关键的准备步骤。 如果在注入器的内部注册表里面,一个令牌对应的依赖值是一个`Provider`那么注入器只能为令牌创建一个依赖值。注册Provider是一个非常关键的准备步骤。
Angular registers some of its own providers with every injector. Angular registers some of its own providers with every injector.
We can register our own providers. Quite often the best time to register a `Provider` We can register our own providers. Quite often the best time to register a `Provider`
is when we [bootstrap](#bootstrap) the application. is when we [bootstrap](#bootstrap) the application.
There are other opportunities to register as well. There are other opportunities to register as well.
Angular为每个注册器注册很多自己的提供者。我们可以注册一些自己的提供者。一般最好的注册提供者的时间是在应用程序的[引导程序Bootstrap](#bootstrap)的时候。 Angular为每个注册器注册很多自己的Provider。我们可以注册一些自己的Provider。一般最好的注册Provider的时间是在应用程序的[引导程序Bootstrap](#bootstrap)的时候。
我们也有其他很多机会注册提供者 我们也有其他很多机会注册Provider
Learn more in the [Dependency Injection](guide/dependency-injection.html) chapter. Learn more in the [Dependency Injection](guide/dependency-injection.html) chapter.
@ -543,7 +543,7 @@ include _util-fns
that can find a named "dependency" in its cache or create such a thing that can find a named "dependency" in its cache or create such a thing
with a registered [provider](#provider). with a registered [provider](#provider).
一个Angular[依赖注入系统](#dependency-injection)内部的对象,它可以在自己的内部缓存找到已点名的依赖或者利用一个注册过的[提供者provider](#provider)新建一个依赖。 一个Angular[依赖注入系统](#dependency-injection)内部的对象,它可以在自己的内部缓存找到已点名的依赖或者利用一个注册过的[provider](#provider)新建一个依赖。
:marked :marked
## Input ## Input
.l-sub-section .l-sub-section
@ -783,18 +783,18 @@ include _util-fns
:marked :marked
## Provider ## Provider
## 提供者 ## Provider
.l-sub-section .l-sub-section
:marked :marked
A Provider creates a new instance of a dependency for the Dependency Injection system. A Provider creates a new instance of a dependency for the Dependency Injection system.
It relates a lookup token to code - sometimes called a "recipe" - that can create a dependency value. It relates a lookup token to code - sometimes called a "recipe" - that can create a dependency value.
提供者为依赖注入系统新建一个依赖的实例。它是关于通过令牌查询代码,有时被叫做“方剂”,可以创建依赖值。 Provider为依赖注入系统新建一个依赖的实例。它是关于通过令牌查询代码,有时被叫做“方剂”,可以创建依赖值。
For example, `new Provider(Foo, {useClass: Foo})` creates a `Provider` For example, `new Provider(Foo, {useClass: Foo})` creates a `Provider`
that relates the `Foo` token to a function that creates a new instance of the `Foo` class. that relates the `Foo` token to a function that creates a new instance of the `Foo` class.
比如,`new Provider(Foo, {useClass: Foo})`新建一个`提供者`,把`Foo`令牌联系到一个函数,这个函数新建一个`Foo`类的实例。 比如,`new Provider(Foo, {useClass: Foo})`新建一个`Provider`,把`Foo`令牌联系到一个函数,这个函数新建一个`Foo`类的实例。
There are other ways to create tokens and recipes. There are other ways to create tokens and recipes.
See [Dependency Injection](#dependency-injection) chapter to learn more. See [Dependency Injection](#dependency-injection) chapter to learn more.