extends ../../ts/_cache/glossary.jade

block includes
  include _util-fns

block annotation-defn
  :marked
    When unqualified, _annotation_ refers to a Dart [metadata
    annotation][metadata] (as opposed to, say, a type annotation).  A metadata
    annotation begins with the character `@`, followed by either a reference
    to a compile-time constant (such as [`Component`](#component)) or a call
    to a constant constructor. See the [Dart Language Guide][metadata] for
    details.

    The corresponding term in TypeScript and JavaScript is
    [_decorator_](!{docsPath}/ts/latest/glossary.html#decorator).

    [metadata]: https://www.dartlang.org/guides/language/language-tour#metadata

block bootstrap-defn-top
  :marked
    We launch an Angular application by "bootstrapping" it with the
    [bootstrap][bootstrap] method.  The `bootstrap` method identifies an
    application's top level "root" [Component](#component) and optionally
    registers service [providers](#provider) with the [dependency injection
    system](#dependency-injection).

    [bootstrap]: !{docsLatest}/api/angular2.platform.browser/bootstrap.html

block decorator-defn
  :marked
    When used in this guide, these JavaScript terms are taken as synonymous with
    [annotation](#annotation).

block module-defn
  //- Taken from the Dart Difference in guide/architecture.jade
  :marked
    In this guide, the term _module_ refers to a Dart compilation unit, such
    as a library, or a package. (If a Dart file has no `library` or `part`
    directive, then that file itself is a library and thus a compilation
    unit.) For more information about compilation units, see
    the chapter on "Libraries and Scripts" in the
    [Dart Language Specification](https://www.dartlang.org/docs/spec/).

block routing-component-defn
  :marked
    A [Component](#component) with an attached router.

    In most cases, the component became attached to a [router](#router) by means
    of a `@RouterConfig` #{decorator} that defined routes to views controlled by this component.

    The component's template has a `RouterOutlet` element where it can display views produced by the router.

    It likely has anchor tags or buttons with `RouterLink` directives that users can click to navigate.

block append snake-case-defn
  :marked
      Library and file names are often spelled in snake_case. Examples include:
      `angular2_tour_of_heroes` and `app_component.dart`.

block zone-defn
  :marked
    Zones are a mechanism for encapsulating and intercepting
    a Dart application's asynchronous activity.

    To learn more, consult the [zones article][zones].

    [zones]: https://www.dartlang.org/articles/libraries/zones