anchor.diff:    It has an `isLoggedIn` flag to tell us whether the user is authenticated.
     Its `login` method simulates an API call to an external service by returning an observable that resolves successfully after a short pause.
   
  -  虽然它不会真的进行登录，但它却足够我们进行讨论了。
  -  它有一个`isLoggedIn`标志，用来告诉我们是否用户已经登录过了。
  -  它的`login`方法会仿真一个对外部服务的API调用，它返回一个可观察对象（observable）。在短暂的停顿之后，这个可观察对象就会解析成功。
  +  虽然它不会真的进行登录，但足够让我们进行这个讨论了。
  +  它有一个`isLoggedIn`标志，用来标识是否用户已经登录过了。
  +  它的`login`方法会仿真一个对外部服务的API调用，返回一个可观察对象（observable）。在短暂的停顿之后，这个可观察对象就会解析成功。
   
     Let's revise our `AuthGuard` to call it.
   
  
positive.code:   Multiple values are common &mdash; `after='12/31/2015' & before='1/1/2017'` &mdash; in no particular order &mdash;
     `before='1/1/2017' & after='12/31/2015'` &mdash; in a variety of formats &mdash; `during='currentYear'` .
  
    可选的信息使用其它形式表示。搜索标准通常是结构松散的，例如`name='wind*'`；多个值的情况是普遍存在的（如`after='12/31/2015' & before='1/1/2017'`）；也没有特定的顺序（如`before='1/1/2017' & after='12/31/2015'`）;有多种多样的格式（如`during='currentYear'`）。
  
    These kinds of parameters don't fit easily in a URL *path*. Even if we could define a suitable URL token scheme,
    doing so greatly complicates the pattern matching required to translate an incoming URL to a named route.
  
    这些类型的参数不适合用在URL*路径*中。即使我们能定义一个合适的URL令牌方案，它也会让从输入URL翻译成命名路由的模式匹配算法变得非常复杂。
  
    The **URL query string** is the ideal vehicle for conveying arbitrarily complex information during navigation.
    The query string isn't involved in pattern matching and affords enormous flexiblity of expression.
  
negative.code:   These two examples cover our needs for an app with one level routing.
    The moment we add a child router, such as the *Crisis Center*, we create new link array possibilities.
  
    这两个例子覆盖了我们在单级路由的应用中所需的一切。在添加一个像*危机中心*一样的子路由时，我们创建新链接数组组合。
  
    Recall that we specified a default child route for *Crisis Center* so this simple `RouterLink` is fine.
  
  