router.jade: review to line 2088

This commit is contained in:
Rex 2016-06-29 22:16:12 +01:00
parent 397a1247b8
commit f4c56cbae6
1 changed files with 19 additions and 19 deletions

View File

@ -1587,22 +1587,22 @@ h3#nav-to-list 导航回列表组件
The *Crisis Center* is a fake view at the moment. Time to make it useful.
此刻,*危机中心*还只是一个假视图,该让它有用点了!
此刻,*危机中心*还只是一个假视图,该让它有用点了!
The new *Crisis Center* begins as a virtual copy of the *Heroes* feature.
We create a new `app/crisis-center` folder, copy the Hero files,
and change every mention of "hero" to "crisis".
新的*危机中心*从*英雄*特性区的一个虚拟???副本开始。我们创建新的`app/crisis-center`目录、把英雄区的文件拷贝过去并且把对“hero”的每一次引用改成“crisis”。
新的*危机中心*从*英雄*特性区的一个拷贝开始。我们创建新的`app/crisis-center`目录把英雄区的文件拷贝过去并把所有的“hero”修改“crisis”。
A `Crisis` has an `id` and `name`, just like a `Hero`
The new `CrisisListComponent` displays lists of crises.
When the user selects a crisis, the app navigates to the `CrisisDetailComponent`
for display and editing of the crisis name.
`Crisis`有一个`id`和一个`name`,就像`Hero`。新的`CrisisListComponent`显示危机列表。如果用户选择了一个危机,该应用就会导航到`CrisisDetailComponent`,用于显示和编辑危机的名字。
`Crisis`有一个`id`和一个`name`,就像`Hero`一样。新的`CrisisListComponent`显示危机列表。如果用户选择了一个危机,该应用就会导航到`CrisisDetailComponent`,用于显示和编辑危机的名字。
Voilà, instant feature module!
Voila, instant feature module!
真棒!我们瞬间就有了一个特性模块!
@ -1610,7 +1610,7 @@ h3#nav-to-list 导航回列表组件
We do have new ideas and techniques in mind:
除非我们能学到点新东西,否则这种练习就没啥亮点。
不过,我们在脑海中已经有了一些新主意和新技巧:
不过,我们已经有了一些新主意和新技巧:
* We'd like our route URLs to branch in to child route trees that reflect the component treese in our feature areas.
@ -1750,7 +1750,7 @@ h3#child-routing-component 子路由组件
which makes it visible everywhere —
we register the `CrisisService` in the component's providers array.
在*危机中心*领域之外既不需要也没人想要`CrisisService`。
在*危机中心*领域之外既不需要也没人想要`CrisisService`。与其在根组件`AppComponent`的供应商中注册它导致它在应用的任何地方都可见,不如在组件供应商数组中注册`CrisisService`。
+makeExample('router/ts/app/crisis-center/crisis-center.component.1.ts', 'providers')(format='.')
@ -1763,7 +1763,7 @@ h3#child-routing-component 子路由组件
There's a practical benefit to restricting its scope in this way.
用这种方式限制它的范围有一些确切的优点
用这种方式限制它的范围有一些实践好处
First we can evolve the service independently of the rest of the application
without fear of breaking what should be unrelated modules.
@ -1776,9 +1776,9 @@ h3#child-routing-component 子路由组件
We can load it optionally, asynchronously with the other *Crisis Center* components
if and when the user begins that workflow.
第二,我们可以对此服务进行延迟加载,直到需要它的时候才加载到内存中。
我们可以从应用的发布包中移除它,以减小首次加载的体积并提升性能。
我们可以用可选的方式加载它,当用户开始此工作流时,本应用才异步加载其它的*危机中心*组件。
第二,可以对此服务进行延迟加载,直到需要它的时候才加载到内存中。
可以从应用的发布包中移除它,以减小首次加载的体积并提升性能。
可以用可选的方式加载它,当用户开始此工作流时,本应用才异步加载其它的*危机中心*组件。
.l-sub-section
@ -1894,7 +1894,7 @@ code-example(format="").
We want the application to display the list of crises as it would if we pasted `localhost:3000/crisis-center/` into the address bar.
This is our intended default route.
我们希望该应用显示一个危机列表,就像在地址栏输入`localhost:3000/crisis-center/`时一样。这就是默认路由。
我们希望该应用显示一个危机列表,就像在地址栏输入`localhost:3000/crisis-center/`时一样。这就是默认路由。
We can arrange for that behavior in several ways.
One way is to use a `redirect` to transparently navigate from one route to another.
@ -1913,7 +1913,7 @@ code-example(format="").
when the router should continue matching our URL against our defined routes.
由于我们希望只有在路径明确的匹配到`''`时才重定向,所以我们往路由中添加了一个额外的配置项:`terminal: true`。
主要是为了重定向,`terminal`属性是用来控制路由器是否应该继续匹配URL和我们定义的路由。译者注`terminal`设置为`true`时,该路由的优先级别就低于其他路由,只有在所有其他路由都不匹配的时候才最后匹配这个路由。主要是为了标示专用于重定向的路由而设计的。)
.l-sub-section
@ -1984,7 +1984,7 @@ h2#guards 路由守卫
:marked
The guard can also tell the router to navigate elsewhere, effectively canceling the current navigation.
守卫还可以告诉路由器导航到别处,这也同样可以取消当前的导航。
守卫还可以告诉路由器导航到别处,这也取消当前的导航。
:marked
The guard *might* return its boolean answer synchronously.
@ -2026,8 +2026,8 @@ h2#guards 路由守卫
If _any_ guard returns false, pending guards that have not completed will be canceled,
and the entire navigation is canceled.
在分层路由的不同级别上,我们可以设置多个守卫。
路由器会先按照从最深的子路由往上检查的顺序来检查`CanDeactivate`守护条件。
在分层路由的每个级别上,我们都可以设置多个守卫。
路由器会先按照从最深的子路由由下往上检查的顺序来检查`CanDeactivate`守护条件。
然后它会按照从上到下的顺序检查`CanActivate`守卫。
如果_任何_守卫返回`false`,其它尚未完成的守卫会被取消,这样整个导航就被取消了。
@ -2044,7 +2044,7 @@ h2#guards 路由守卫
h3#can-activate-guard <i>CanActivate</i>: requiring authentication
h3#can-activate-guard <i>CanActivate</i>: 要认证
h3#can-activate-guard <i>CanActivate</i>: 要认证
:marked
Applications often restrict access to a feature area based on who the user is.
@ -2052,7 +2052,7 @@ h3#can-activate-guard <i>CanActivate</i>: 需要认证
We might block or limit access until the user's account is activated.
应用程序通常会根据访问者来决定是否授予某个特性区的访问权。
我们可以只对已认证过的用户或具有特定角色的用户授予访问权,还可以阻止未激活的用户账户或限制其访问权
我们可以只对已认证过的用户或具有特定角色的用户授予访问权,还可以阻止或限制用户访问权,直到用户账户激活为止
The `CanActivate` guard is the tool to manage these navigation business rules.
@ -2065,7 +2065,7 @@ h3#can-activate-guard <i>CanActivate</i>: 需要认证
We intend to extend the Crisis Center with some new *administrative* features.
Those features aren't defined yet. So we add the following placeholder component.
我们还要用一些新的*管理类*特性来扩展“危机中心”
我们准备扩展“危机中心”,添加一些新的*管理类*特性
这些特性还没有定义过,所以我们先只添加一个占位组件:
+makeExample('router/ts/app/crisis-center/crisis-admin.component.ts', '', 'crisis-admin.component.ts')(format=".")
@ -2073,7 +2073,7 @@ h3#can-activate-guard <i>CanActivate</i>: 需要认证
:marked
Next, we add a child route to the `crisis-center.routes` with the path, `/admin`.
接下来,我们用路径`/admin`往`crisis-center.routes`中添加一个子路由。
接下来,我们往`crisis-center.routes`中添加一个路径为`/admin`的子路由。
+makeExample('router/ts/app/crisis-center/crisis-center.routes.3.ts', 'admin-route-no-guard', 'crisis-center.routes.ts (admin route)')(format=".")