updated api docs structure

This commit is contained in:
Alex Wolfe 2015-04-26 08:01:04 -07:00
parent bc12ba61b7
commit 35074b7b8e
202 changed files with 440 additions and 2044 deletions

View File

@ -0,0 +1,25 @@
nav.side-nav.l-pinned-left.l-layer-4.l-offset-nav
// SEARCH BAR
header.side-nav-search.st-input-wrapper
form.st-input-inner
label(for="search-io" class="is-hidden") Search Docs
input(type="search" id="search-io" placeholder="SEARCH DOCS...")
button(aria-label="Docs Menu" class="mobile-trigger button" aria-label="View Docs Menu" ng-click="toggleDocsMenu($event)" md-button) Docs <span class="icon icon-arrow-drop-down"></span>
// PRIMARY NAVIGATION
ul(class="side-nav-primary" ng-class="showDocsNav ? 'is-visible' : ''")
if current.path[2]
for page, slug in public.docs[current.path[1]][current.path[2]]._data
name = page.menuTitle || page.title
selected = current.path[3] == slug ? 'is-selected':''
pathSuffix = public.docs[current.path[1]][current.path[2]][slug] ? "/" : ".html"
li(class="#{selected}") <a href="/docs/#{current.path[1]}/#{current.path[2]}/#{slug}#{pathSuffix}" md-button><span class="side-nav-icon icon-#{page.icon}"></span> #{name}</a>
// SECONDARY NAVIGATION
if selected
!= partial("_secondary")

View File

@ -0,0 +1,40 @@
secondaryPath = public.docs[current.path[1]][current.path[2]][current.path[3]]
if secondaryPath
data = secondaryPath._data
listType = data._listtype
ordered = listType == "ordered" ? "is-ordered" : ""
items = listType == 'api' ? secondaryPath : data
number = 1
//SECONDARY NAVIGATION
ul(class="side-nav-secondary #{ordered}")
for page, slug in items
// DEFAULT LIST VALUES
selected = current.path[4] == slug ? 'is-selected':''
name = page.title;
path = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + slug + ".html"
if slug != "_listtype" && slug != 'index' && slug != '_contents' && slug != '_data'
// API LIST VALUES
if listType == 'api'
name = public.docs[current.path[1]][current.path[2]][current.path[3]][slug]._data["index"]["title"]
path = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + slug
// ORDERED LIST VALUES
if listType == 'ordered'
num = number++
name = (listType == "ordered") ? num + '. ' + page.title : page.title;
li(class="#{selected}") <a href="#{path}" md-button>#{name}</a>
// TERTIARY NAVIGATION
if selected
!= partial("_tertiary")

View File

@ -0,0 +1,14 @@
// TERTIARY NAVIGATION
tertiaryPath = public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]
if tertiaryPath
data = tertiaryPath._data
ul.side-nav-tertiary
for page, slug in data
name = page.title
selected = current.path[5] == slug ? 'is-selected':''
li(class="#{selected}")<a href="/docs/#{current.path[1]}/#{current.path[2]}/#{current.path[3]}/#{current.path[4]}/#{slug}.html" md-button>#{name}</a>

View File

@ -5,11 +5,9 @@ html(lang="en" ng-app="angularIOApp")
body(class="l-offset-nav l-offset-side-nav" ng-controller="AppCtrl")
!= partial("../_includes/_main-nav")
!= partial("../_includes/_docs-nav")
!= partial("_includes/sidenav/_primary")
!= partial("../_includes/_hero")
if banner
!= partial("../_includes/_banner")
!= partial("../_includes/_banner")
article.l-content-small.grid-fluid.docs-content
!= yield

View File

@ -1,49 +0,0 @@
{
"index" : {
"title" : "API 2.0 Preview"
},
"annotations" : {
"title" : "Annotations"
},
"change_detection" : {
"title" : "Change Detection"
},
"core" : {
"title" : "Core"
},
"di" : {
"title" : "Di"
},
"di_annotations" : {
"title" : "Di Annotations"
},
"di_errors" : {
"title" : "Di Errors"
},
"directives" : {
"title" : "Directives"
},
"forms" : {
"title" : "Forms"
},
"pipes" : {
"title" : "Pipes"
},
"test" : {
"title" : "Test"
},
"view" : {
"title" : "View"
}
}

View File

@ -12,11 +12,11 @@ p.location-badge.
When a component is instantiated, Angular
- creates a shadow DOM for the component.
- loads the selected template into the shadow DOM.
- creates a child <a href="../di/Injector-class.html"><code>Injector</code></a> which is configured with the `injectables` for the <a href="Component-class.html"><code>Component</code></a>.
- creates a child <a href='../di/Injector-class.html'><code>Injector</code></a> which is configured with the `injectables` for the <a href='Component-class.html'><code>Component</code></a>.
All template expressions and statements are then evaluated against the component instance.
For details on the `@View` annotation, see <a href="View-class.html"><code>View</code></a>.
For details on the `@View` annotation, see <a href='View-class.html'><code>View</code></a>.
## Example
@ -101,8 +101,8 @@ p.location-badge.
are children in the component's light DOM.
The syntax for configuring the `injectables` injectable is identical to <a href="../di/Injector-class.html"><code>Injector</code></a> injectable configuration.
See <a href="../di/Injector-class.html"><code>Injector</code></a> for additional detail.
The syntax for configuring the `injectables` injectable is identical to <a href='../di/Injector-class.html'><code>Injector</code></a> injectable configuration.
See <a href='../di/Injector-class.html'><code>Injector</code></a> for additional detail.
## Simple Example

View File

@ -10,10 +10,10 @@ p.location-badge.
(see: http://en.wikipedia.org/wiki/Composition_over_inheritance)
Decorators:
- are simplest form of <a href="Directive-class.html"><code>Directive</code></a>s.
- are simplest form of <a href='Directive-class.html'><code>Directive</code></a>s.
- are best used as a composition pattern ()
Decorators differ from <a href="Component-class.html"><code>Component</code></a>s in that they:
Decorators differ from <a href='Component-class.html'><code>Component</code></a>s in that they:
- can have multiple decorators per element
- do not create their own evaluation context
- do not have a template (and therefor do not create Shadow DOM)

View File

@ -5,43 +5,43 @@ p.location-badge.
:markdown
Directives allow you to attach behavior to elements in the DOM.
Directive is an abstract concept, instead use concrete directives: <a href="Component-class.html"><code>Component</code></a>, <a href="DynamicComponent-class.html"><code>DynamicComponent</code></a>, <a href="Decorator-class.html"><code>Decorator</code></a>
or <a href="Viewport-class.html"><code>Viewport</code></a>.
Directive is an abstract concept, instead use concrete directives: <a href='Component-class.html'><code>Component</code></a>, <a href='DynamicComponent-class.html'><code>DynamicComponent</code></a>, <a href='Decorator-class.html'><code>Decorator</code></a>
or <a href='Viewport-class.html'><code>Viewport</code></a>.
A directive consists of a single directive annotation and a controller class. When the directive's `selector` matches
elements in the DOM, the following steps occur:
1. For each directive, the `ElementInjector` attempts to resolve the directive's constructor arguments.
2. Angular instantiates directives for each matched element using `ElementInjector` in a depth-first order,
as declared in the HTML.
## Understanding How Injection Works
There are three stages of injection resolution.
- *Pre-existing Injectors*:
- The terminal <a href="../di/Injector-class.html"><code>Injector</code></a> cannot resolve dependencies. It either throws an error or, if the dependency was
- The terminal <a href='../di/Injector-class.html'><code>Injector</code></a> cannot resolve dependencies. It either throws an error or, if the dependency was
specified as `@Optional`, returns `null`.
- The platform injector resolves browser singleton resources, such as: cookies, title, location, and others.
- *Component Injectors*: Each `@Component` has its own <a href="../di/Injector-class.html"><code>Injector</code></a>, and they follow the same parent-child hierarchy
- *Component Injectors*: Each `@Component` has its own <a href='../di/Injector-class.html'><code>Injector</code></a>, and they follow the same parent-child hierarchy
as the components in the DOM.
- *Element Injectors*: Each component has a Shadow DOM. Within the Shadow DOM each element has an `ElementInjector`
which follow the same parent-child hierarchy as the DOM elements themselves.
When a template is instantiated, it also must instantiate the corresponding directives in a depth-first order. The
current `ElementInjector` resolves the constructor dependencies for each directive.
Angular then resolves dependencies as follows, according to the order in which they appear in the <a href="View-class.html"><code>View</code></a>:
Angular then resolves dependencies as follows, according to the order in which they appear in the <a href='View-class.html'><code>View</code></a>:
1. Dependencies on the current element
2. Dependencies on element injectors and their parents until it encounters a Shadow DOM boundary
3. Dependencies on component injectors and their parents until it encounters the root component
4. Dependencies on pre-existing injectors
The `ElementInjector` can inject other directives, element-specific special objects, or it can delegate to the parent
injector.
To inject other directives, declare the constructor parameter as:
- `directive:DirectiveType`: a directive on the current element only
- `@Ancestor() directive:DirectiveType`: any directive that matches the type between the current element and the
@ -50,19 +50,19 @@ p.location-badge.
- `@Parent() directive:DirectiveType`: any directive that matches the type on a direct parent element only.
- `@Children query:Query<DirectiveType>`: A live collection of direct child directives (will be implemented in later release).
- `@Descendants query:Query<DirectiveType>`: A live collection of any child directives (will be implemented in later relaese).
To inject element-specific special objects, declare the constructor parameter as:
- `element: NgElement` to obtain a DOM element (DEPRECATED: replacement coming)
- `viewContainer: ViewContainer` to control child template instantiation, for <a href="Viewport-class.html"><code>Viewport</code></a> directives only
- `viewContainer: ViewContainer` to control child template instantiation, for <a href='Viewport-class.html'><code>Viewport</code></a> directives only
- `bindingPropagation: BindingPropagation` to control change detection in a more granular way.
## Example
The following example demonstrates how dependency injection resolves constructor arguments in practice.
Assume this HTML template:
```
<div dependency="1">
<div dependency="2">
@ -75,14 +75,14 @@ p.location-badge.
</div>
</div>
```
With the following `dependency` decorator and `SomeService` injectable class.
```
@Injectable()
class SomeService {
}
@Decorator({
selector: '[dependency]',
properties: {
@ -93,14 +93,14 @@ p.location-badge.
id:string;
}
```
Let's step through the different ways in which `MyDirective` could be declared...
### No injection
Here the constructor is declared with no arguments, therefore nothing is injected into `MyDirective`.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -108,14 +108,14 @@ p.location-badge.
}
}
```
This directive would be instantiated with no dependencies.
### Component-level injection
Directives can inject any injectable instance from the closest component injector or any of its parents.
Here, the constructor declares a parameter, `someService`, and injects the `SomeService` type from the parent
component's injector.
```
@ -125,14 +125,14 @@ p.location-badge.
}
}
```
This directive would be instantiated with a dependency on `SomeService`.
### Injecting a directive from the current element
Directives can inject other directives declared on the current element.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -142,14 +142,14 @@ p.location-badge.
}
```
This directive would be instantiated with `Dependency` declared at the same element, in this case `dependency="3"`.
### Injecting a directive from a direct parent element
Directives can inject other directives declared on a direct parent element. By definition, a directive with a
`@Parent` annotation does not attempt to resolve dependencies for the current element, even if this would satisfy
the dependency.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -159,14 +159,14 @@ p.location-badge.
}
```
This directive would be instantiated with `Dependency` declared at the parent element, in this case `dependency="2"`.
### Injecting a directive from any ancestor elements
Directives can inject other directives declared on any ancestor element (in the current Shadow DOM), i.e. on the
parent element and its parents. By definition, a directive with an `@Ancestor` annotation does not attempt to
resolve dependencies for the current element, even if this would satisfy the dependency.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -175,20 +175,20 @@ p.location-badge.
}
}
```
Unlike the `@Parent` which only checks the parent, `@Ancestor` checks the parent, as well as its
parents recursively. If `dependency="2"` didn't exist on the direct parent, this injection would have returned
`dependency="1"`.
### Injecting a live collection of direct child directives
A directive can also query for other child directives. Since parent directives are instantiated before child
directives, a directive can't simply inject the list of child directives. Instead, the directive
injects a <a href="../view/QueryList-class.html"><code>QueryList</code></a>, which updates its contents as children are added, removed, or moved by any
<a href="Viewport-class.html"><code>Viewport</code></a> directive such as a `for`, an `if`, or a `switch`.
directives, a directive can't simply inject the list of child directives. Instead, the directive
injects a <a href='../view/QueryList-class.html'><code>QueryList</code></a>, which updates its contents as children are added, removed, or moved by any
<a href='Viewport-class.html'><code>Viewport</code></a> directive such as a `for`, an `if`, or a `switch`.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -196,16 +196,16 @@ p.location-badge.
}
}
```
This directive would be instantiated with a <a href="../view/QueryList-class.html"><code>QueryList</code></a> which contains `Dependency` 4 and 6. Here, `Dependency`
This directive would be instantiated with a <a href='../view/QueryList-class.html'><code>QueryList</code></a> which contains `Dependency` 4 and 6. Here, `Dependency`
5 would not be included, because it is not a direct child.
### Injecting a live collection of descendant directives
Note: This is will be implemented in later release. ()
Similar to `@Children` above, but also includes the children of the child elements.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -213,15 +213,15 @@ p.location-badge.
}
}
```
This directive would be instantiated with a Query which would contain `Dependency` 4, 5 and 6.
### Optional injection
The normal behavior of directives is to return an error when a specified dependency cannot be resolved. If you
would like to inject `null` on unresolved dependency instead, you can annotate that dependency with `@Optional()`.
This explicitly permits the author of a template to treat some of the surrounding directives as optional.
```
@Decorator({ selector: '[my-directive]' })
class MyDirective {
@ -229,16 +229,16 @@ p.location-badge.
}
}
```
This directive would be instantiated with a `Dependency` directive found on the current element. If none can be
found, the injector supplies `null` instead of throwing an error.
.l-main-section
h2 Members
.l-sub-section
h3 constructor
pre.prettyprint
code.
constructor({
@ -254,9 +254,9 @@ p.location-badge.
hostListeners: any,
lifecycle:List
}={})
:markdown
@ -264,23 +264,23 @@ p.location-badge.
.l-sub-section
h3 events
:markdown
Enumerates the set of emitted events.
## Syntax
```
@Component({
events: ['statusChange']
})
class TaskComponent {
statusChange:EventEmitter;
constructor() {
this.statusChange = new EventEmitter();
}
onComplete() {
this.statusChange.next('completed');
}
@ -294,15 +294,15 @@ p.location-badge.
.l-sub-section
h3 hasLifecycleHook
pre.prettyprint
code.
hasLifecycleHook(hook:string)
:markdown
Returns true if a directive participates in a given `LifecycleEvent`.
See <a href="onChange-var.html"><code>onChange</code></a>, <a href="onDestroy-var.html"><code>onDestroy</code></a>, <a href="onAllChangesDone-var.html"><code>onAllChangesDone</code></a> for details.
See <a href='onChange-var.html'><code>onChange</code></a>, <a href='onDestroy-var.html'><code>onDestroy</code></a>, <a href='onAllChangesDone-var.html'><code>onAllChangesDone</code></a> for details.
@ -311,27 +311,27 @@ p.location-badge.
.l-sub-section
h3 hostListeners
:markdown
Specifies which DOM hostListeners a directive listens to.
The `hostListeners` property defines a set of `event` to `method` key-value pairs:
- `event1`: the DOM event that the directive listens to.
- `statement`: the statement to execute when the event occurs.
If the evalutation of the statement returns `false`, then `preventDefault`is applied on the DOM event.
To listen to global events, a target must be added to the event name.
The target can be `window`, `document` or `body`.
When writing a directive event binding, you can also refer to the following local variables:
- `$event`: Current event object which triggered the event.
- `$target`: The source of the event. This will be either a DOM element or an Angular directive.
(will be implemented in later release)
## Syntax
```
@Directive({
hostListeners: {
@ -341,12 +341,12 @@ p.location-badge.
}
}
```
## Basic Event Binding:
Suppose you want to write a directive that triggers on `change` events in the DOM and on `resize` events in window.
You would define the event binding as follows:
```
@Decorator({
selector: 'input',
@ -362,7 +362,7 @@ p.location-badge.
}
}
```
Here the `onChange` method of `InputDecorator` is invoked whenever the DOM element fires the 'change' event.
@ -372,11 +372,11 @@ p.location-badge.
.l-sub-section
h3 lifecycle
:markdown
Specifies a set of lifecycle hostListeners in which the directive participates.
See <a href="onChange-var.html"><code>onChange</code></a>, <a href="onDestroy-var.html"><code>onDestroy</code></a>, <a href="onAllChangesDone-var.html"><code>onAllChangesDone</code></a> for details.
See <a href='onChange-var.html'><code>onChange</code></a>, <a href='onDestroy-var.html'><code>onDestroy</code></a>, <a href='onAllChangesDone-var.html'><code>onAllChangesDone</code></a> for details.
@ -385,22 +385,22 @@ p.location-badge.
.l-sub-section
h3 properties
:markdown
Enumerates the set of properties that accept data binding for a directive.
The `properties` property defines a set of `directiveProperty` to `bindingProperty`
key-value pairs:
- `directiveProperty` specifies the component property where the value is written.
- `bindingProperty` specifies the DOM property where the value is read from.
You can include a <a href="../pipes/Pipe-class.html"><code>Pipe</code></a> when specifying a `bindingProperty` to allow for data transformation and structural
You can include a <a href='../pipes/Pipe-class.html'><code>Pipe</code></a> when specifying a `bindingProperty` to allow for data transformation and structural
change detection of the value. These pipes will be evaluated in the context of this component.
## Syntax
```
@Directive({
properties: {
@ -410,13 +410,13 @@ p.location-badge.
}
}
```
## Basic Property Binding
We can easily build a simple `Tooltip` directive that exposes a `tooltip` property, which can be used in templates
with standard Angular syntax. For example:
```
@Decorator({
selector: '[tooltip]',
@ -430,29 +430,29 @@ p.location-badge.
}
}
```
We can then bind to the `tooltip' property as either an expression (`someExpression`) or as a string literal, as
shown in the HTML template below:
```html
<div [tooltip]="someExpression">...</div>
<div tooltip="Some Text">...</div>
```
Whenever the `someExpression` expression changes, the `properties` declaration instructs
Angular to update the `Tooltip`'s `text` property.
## Bindings With Pipes
You can also use pipes when writing binding definitions for a directive.
For example, we could write a binding that updates the directive on structural changes, rather than on reference
changes, as normally occurs in change detection.
See <a href="../pipes/Pipe-class.html"><code>Pipe</code></a> and <a href="../pipes/keyValDiff-var.html"><code>keyValDiff</code></a> documentation for more details.
See <a href='../pipes/Pipe-class.html'><code>Pipe</code></a> and <a href='../pipes/keyValDiff-var.html'><code>keyValDiff</code></a> documentation for more details.
```
@Decorator({
selector: '[class-set]',
@ -466,13 +466,13 @@ p.location-badge.
}
}
```
The template that this directive is used in may also contain its own pipes. For example:
```html
<div [class-set]="someExpression | somePipe">
```
In this case, the two pipes compose as if they were inlined: `someExpression | somePipe | keyValDiff`.
@ -482,35 +482,35 @@ p.location-badge.
.l-sub-section
h3 selector
:markdown
The CSS selector that triggers the instantiation of a directive.
Angular only allows directives to trigger on CSS selectors that do not cross element boundaries.
`selector` may be declared as one of the following:
- `element-name`: select by element name.
- `.class`: select by class name.
- `[attribute]`: select by attribute name.
- `[attribute=value]`: select by attribute name and value.
- `:not(sub_selector)`: select only if the element does not match the `sub_selector`.
- `selector1, selector2`: select if either `selector1` or `selector2` matches.
Suppose we have a directive with an `input[type=text]` selector.
And the following HTML:
```html
<form>
<input type="text">
<input type="radio">
<form>
```
The directive would only be instantiated on the `<input type="text">` element.

View File

@ -83,7 +83,7 @@ p.location-badge.
:markdown
Same as `injectables` in the <a href="Component-class.html"><code>Component</code></a>.
Same as `injectables` in the <a href='Component-class.html'><code>Component</code></a>.

View File

@ -4,9 +4,9 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/core/annotations/di.js#L77">angular2/src/core/annotations/di.js (line 77)</a>
:markdown
Specifies that a <a href="../view/QueryList-class.html"><code>QueryList</code></a> should be injected.
Specifies that a <a href='../view/QueryList-class.html'><code>QueryList</code></a> should be injected.
See <a href="../view/QueryList-class.html"><code>QueryList</code></a> for usage and example.
See <a href='../view/QueryList-class.html'><code>QueryList</code></a> for usage and example.
.l-main-section
h2 Members

View File

@ -12,7 +12,7 @@ p.location-badge.
When a component is instantiated, the template is loaded into the component's shadow root, and the
expressions and statements in the template are evaluated against the component.
For details on the `@Component` annotation, see <a href="Component-class.html"><code>Component</code></a>.
For details on the `@Component` annotation, see <a href='Component-class.html'><code>Component</code></a>.
## Example

View File

@ -6,11 +6,11 @@ p.location-badge.
:markdown
Directive that controls the instantiation, destruction, and positioning of inline template elements.
A viewport directive uses a <a href="../view/ViewContainer-class.html"><code>ViewContainer</code></a> to instantiate, insert, move, and destroy views at runtime.
The <a href="../view/ViewContainer-class.html"><code>ViewContainer</code></a> is created as a result of `<template>` element, and represents a location in the current view
A viewport directive uses a <a href='../view/ViewContainer-class.html'><code>ViewContainer</code></a> to instantiate, insert, move, and destroy views at runtime.
The <a href='../view/ViewContainer-class.html'><code>ViewContainer</code></a> is created as a result of `<template>` element, and represents a location in the current view
where these actions are performed.
Views are always created as children of the current <a href="View-class.html"><code>View</code></a>, and as siblings of the `<template>` element. Thus a
Views are always created as children of the current <a href='View-class.html'><code>View</code></a>, and as siblings of the `<template>` element. Thus a
directive in a child view cannot inject the viewport directive that created it.
Since viewport directives are common in Angular, and using the full `<template>` element syntax is wordy, Angular

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Annotations",
"intro" : "Annotations provide the additional information that Angular requires in order to run your application. This modulecontains <a href='Component-class.html'><code>Component</code></a>, <a href='Decorator-class.html'><code>Decorator</code></a>, and <a href='View-class.html'><code>View</code></a> annotations, as well as <a href='Parent-class.html'><code>Parent</code></a> and <a href='Ancestor-class.html'><code>Ancestor</code></a> annotations that areused by Angular to resolve dependencies."
},
"Directive-class" : {
"title" : "Directive Class"
},

View File

@ -4,5 +4,5 @@ ul
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -5,7 +5,7 @@
exported from <a href="/angular2/annotations.html">angular2/annotations</a>
:markdown
Notify a directive whenever a <a href="View-class.html"><code>View</code></a> that contains it is destroyed.
Notify a directive whenever a <a href='View-class.html'><code>View</code></a> that contains it is destroyed.
## Example

View File

@ -8,8 +8,8 @@ p.location-badge.
Angular implements the following change detection strategies by default:
- <a href="DynamicChangeDetection-class.html"><code>DynamicChangeDetection</code></a>: slower, but does not require `eval()`.
- <a href="JitChangeDetection-class.html"><code>JitChangeDetection</code></a>: faster, but requires `eval()`.
- <a href='DynamicChangeDetection-class.html'><code>DynamicChangeDetection</code></a>: slower, but does not require `eval()`.
- <a href='JitChangeDetection-class.html'><code>JitChangeDetection</code></a>: faster, but requires `eval()`.
In JavaScript, you should always use `JitChangeDetection`, unless you are in an environment that has
[CSP](https://developer.mozilla.org/en-US/docs/Web/Security/CSP), such as a Chrome Extension.
@ -18,7 +18,7 @@ p.location-badge.
`JitChangeDetection` strategy at compile time.
See: <a href="DynamicChangeDetection-class.html"><code>DynamicChangeDetection</code></a>, <a href="JitChangeDetection-class.html"><code>JitChangeDetection</code></a>
See: <a href='DynamicChangeDetection-class.html'><code>DynamicChangeDetection</code></a>, <a href='JitChangeDetection-class.html'><code>JitChangeDetection</code></a>
# Example
```javascript

View File

@ -6,7 +6,7 @@ p.location-badge.
:markdown
Controls change detection.
<a href="ChangeDetectorRef-class.html"><code>ChangeDetectorRef</code></a> allows requesting checks for detectors that rely on observables. It also allows detaching and
<a href='ChangeDetectorRef-class.html'><code>ChangeDetectorRef</code></a> allows requesting checks for detectors that rely on observables. It also allows detaching and
attaching change detector subtrees.
.l-main-section

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Change Detection",
"intro" : "Change detection enables data binding in Angular."
},
"DynamicChangeDetection-class" : {
"title" : "DynamicChangeDetection Class"
},

View File

@ -4,5 +4,5 @@ ul
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Core",
"intro" : "Define angular core API here."
},
"bootstrap-function" : {
"title" : "bootstrap Function"
},

View File

@ -104,10 +104,10 @@
- `appComponentType`: The root component which should act as the application. This is a reference to a `Type`
which is annotated with `@Component(...)`.
- `componentInjectableBindings`: An additional set of bindings that can be added to `injectables` for the
<a href="../annotations/Component-class.html"><code>Component</code></a> to override default injection behavior.
<a href='../annotations/Component-class.html'><code>Component</code></a> to override default injection behavior.
- `errorReporter`: `function(exception:any, stackTrace:string)` a default error reporter for unhandled exceptions.
Returns a `Promise` with the application`s private <a href="../di/Injector-class.html"><code>Injector</code></a>.
Returns a `Promise` with the application`s private <a href='../di/Injector-class.html'><code>Injector</code></a>.

View File

@ -4,5 +4,5 @@ ul
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -4,9 +4,9 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/binding.js#L49">angular2/src/di/binding.js (line 49)</a>
:markdown
Describes how the <a href="Injector-class.html"><code>Injector</code></a> should instantiate a given token.
Describes how the <a href='Injector-class.html'><code>Injector</code></a> should instantiate a given token.
See <a href="bind-function.html"><code>bind</code></a>.
See <a href='bind-function.html'><code>bind</code></a>.
## Example
@ -75,9 +75,9 @@ p.location-badge.
resolve()
:markdown
Converts the <a href="Binding-class.html"><code>Binding</code></a> into <a href="ResolvedBinding-class.html"><code>ResolvedBinding</code></a>.
Converts the <a href='Binding-class.html'><code>Binding</code></a> into <a href='ResolvedBinding-class.html'><code>ResolvedBinding</code></a>.
<a href="Injector-class.html"><code>Injector</code></a> internally only uses <a href="ResolvedBinding-class.html"><code>ResolvedBinding</code></a>, <a href="Binding-class.html"><code>Binding</code></a> contains convenience binding syntax.
<a href='Injector-class.html'><code>Injector</code></a> internally only uses <a href='ResolvedBinding-class.html'><code>ResolvedBinding</code></a>, <a href='Binding-class.html'><code>Binding</code></a> contains convenience binding syntax.
@ -90,7 +90,7 @@ p.location-badge.
:markdown
Binds a key to the alias for an existing key.
An alias means that <a href="Injector-class.html"><code>Injector</code></a> returns the same instance as if the alias token was used. This is in contrast to
An alias means that <a href='Injector-class.html'><code>Injector</code></a> returns the same instance as if the alias token was used. This is in contrast to
`toClass` where a separate instance of `toClass` is returned.
@ -146,9 +146,9 @@ p.location-badge.
```
The interesting thing to note is that event though `Number` has an async factory, the `String` factory
function takes the resolved value. This shows that the <a href="Injector-class.html"><code>Injector</code></a> delays executing the `String` factory
function takes the resolved value. This shows that the <a href='Injector-class.html'><code>Injector</code></a> delays executing the `String` factory
until after the `Number` is resolved. This can only be done if the `token` is retrieved using the
`asyncGet` API in the <a href="Injector-class.html"><code>Injector</code></a>.
`asyncGet` API in the <a href='Injector-class.html'><code>Injector</code></a>.

View File

@ -4,7 +4,7 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/binding.js#L315">angular2/src/di/binding.js (line 315)</a>
:markdown
Helper class for the <a href="bind-function.html"><code>bind</code></a> function.
Helper class for the <a href='bind-function.html'><code>bind</code></a> function.
.l-main-section
h2 Members
@ -92,9 +92,9 @@ p.location-badge.
```
The interesting thing to note is that event though `Number` has an async factory, the `String` factory
function takes the resolved value. This shows that the <a href="Injector-class.html"><code>Injector</code></a> delays executing of the `String` factory
function takes the resolved value. This shows that the <a href='Injector-class.html'><code>Injector</code></a> delays executing of the `String` factory
until after the `Number` is resolved. This can only be done if the `token` is retrieved using the
the `asyncGet` API in the <a href="Injector-class.html"><code>Injector</code></a>.
the `asyncGet` API in the <a href='Injector-class.html'><code>Injector</code></a>.

View File

@ -5,52 +5,52 @@ p.location-badge.
:markdown
A dependency injection container used for resolving dependencies.
An `Injector` is a replacement for a `new` operator, which can automatically resolve the constructor dependencies.
In typical use, application code asks for the dependencies in the constructor and they are resolved by the
`Injector`.
## Example:
Suppose that we want to inject an `Engine` into class `Car`, we would define it like this:
```javascript
class Engine {
}
class Car {
constructor(@Inject(Engine) engine) {
}
}
```
Next we need to write the code that creates and instantiates the `Injector`. We then ask for the `root` object,
`Car`, so that the `Injector` can recursively build all of that object's dependencies.
```javascript
main() {
var injector = Injector.resolveAndCreate([Car, Engine]);
// Get a reference to the `root` object, which will recursively instantiate the tree.
var car = injector.get(Car);
}
```
Notice that we don't use the `new` operator because we explicitly want to have the `Injector` resolve all of the
object's dependencies automatically.
.l-main-section
h2 Members
.l-sub-section
h3 constructor
pre.prettyprint
code.
constructor(bindings:List&lt;ResolvedBinding&gt;, parent:Injector, defaultBindings:boolean, [object Object], [object Object], [object Object])
:markdown
@ -58,14 +58,14 @@ p.location-badge.
.l-sub-section
h3 asyncGet
pre.prettyprint
code.
asyncGet(token, [object Object])
:markdown
Retrieves an instance from the injector asynchronously. Used with asynchronous bindings.
@ -74,14 +74,14 @@ p.location-badge.
.l-sub-section
h3 createChildFromResolved
pre.prettyprint
code.
createChildFromResolved(bindings:List&lt;ResolvedBinding&gt;, [object Object])
:markdown
Creates a child injector and loads a new set of <a href="ResolvedBinding-class.html"><code>ResolvedBinding</code></a>s into it.
Creates a child injector and loads a new set of <a href='ResolvedBinding-class.html'><code>ResolvedBinding</code></a>s into it.
@ -90,15 +90,15 @@ p.location-badge.
.l-sub-section
h3 fromResolvedBindings
pre.prettyprint
code.
fromResolvedBindings(bindings:List&lt;ResolvedBinding&gt;, {defaultBindings=false}={}, [object Object], [object Object])
:markdown
Creates an injector from previously resolved bindings. This bypasses resolution and flattening. This API is the
recommended way to construct injectors in performance-sensitive parts.
@ -107,14 +107,14 @@ p.location-badge.
.l-sub-section
h3 get
pre.prettyprint
code.
get(token, [object Object])
:markdown
Retrieves an instance from the injector.
@ -123,14 +123,14 @@ p.location-badge.
.l-sub-section
h3 getOptional
pre.prettyprint
code.
getOptional(token, [object Object])
:markdown
Retrieves an instance from the injector.
@ -139,18 +139,18 @@ p.location-badge.
.l-sub-section
h3 resolve
pre.prettyprint
code.
resolve(bindings:List, [object Object])
:markdown
Turns a list of binding definitions into an internal resolved list of resolved bindings.
A resolution is a process of flattening multiple nested lists and converting individual bindings into a
list of <a href="ResolvedBinding-class.html"><code>ResolvedBinding</code></a>s. The resolution can be cached by `resolve` for the <a href="Injector-class.html"><code>Injector</code></a> for
list of <a href='ResolvedBinding-class.html'><code>ResolvedBinding</code></a>s. The resolution can be cached by `resolve` for the <a href='Injector-class.html'><code>Injector</code></a> for
performance-sensitive code.
@ -159,18 +159,18 @@ p.location-badge.
.l-sub-section
h3 resolveAndCreate
pre.prettyprint
code.
resolveAndCreate(bindings:List, {defaultBindings=false}={}, [object Object], [object Object])
:markdown
Resolves bindings and creates an injector based on those bindings. This function is slower than the
corresponding `fromResolvedBindings` because it needs to resolve bindings first. See `resolve` for the
<a href="Injector-class.html"><code>Injector</code></a>.
<a href='Injector-class.html'><code>Injector</code></a>.
Prefer `fromResolvedBindings` in performance-critical code that creates lots of injectors.
@ -179,18 +179,18 @@ p.location-badge.
.l-sub-section
h3 resolveAndCreateChild
pre.prettyprint
code.
resolveAndCreateChild(bindings:List, [object Object])
:markdown
Creates a child injector and loads a new set of bindings into it.
A resolution is a process of flattening multiple nested lists and converting individual bindings into a
list of <a href="ResolvedBinding-class.html"><code>ResolvedBinding</code></a>s. The resolution can be cached by `resolve` for the <a href="Injector-class.html"><code>Injector</code></a> for
list of <a href='ResolvedBinding-class.html'><code>ResolvedBinding</code></a>s. The resolution can be cached by `resolve` for the <a href='Injector-class.html'><code>Injector</code></a> for
performance-sensitive code.

View File

@ -4,13 +4,13 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/key.js#L17">angular2/src/di/key.js (line 17)</a>
:markdown
A unique object used for retrieving items from the <a href="Injector-class.html"><code>Injector</code></a>.
A unique object used for retrieving items from the <a href='Injector-class.html'><code>Injector</code></a>.
Keys have:
- a system-wide unique `id`.
- a `token`, usually the `Type` of the instance.
Keys are used internally by the <a href="Injector-class.html"><code>Injector</code></a> because their system-wide unique `id`s allow the
Keys are used internally by the <a href='Injector-class.html'><code>Injector</code></a> because their system-wide unique `id`s allow the
injector to index in arrays rather than looking up items in maps.
.l-main-section

View File

@ -4,10 +4,10 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/binding.js#L263">angular2/src/di/binding.js (line 263)</a>
:markdown
An internal resolved representation of a <a href="Binding-class.html"><code>Binding</code></a> used by the <a href="Injector-class.html"><code>Injector</code></a>.
An internal resolved representation of a <a href='Binding-class.html'><code>Binding</code></a> used by the <a href='Injector-class.html'><code>Injector</code></a>.
A <a href="Binding-class.html"><code>Binding</code></a> is resolved when it has a factory function. Binding to a class, alias, or value, are just convenience
methods, as <a href="Injector-class.html"><code>Injector</code></a> only operates on calling factory functions.
A <a href='Binding-class.html'><code>Binding</code></a> is resolved when it has a factory function. Binding to a class, alias, or value, are just convenience
methods, as <a href='Injector-class.html'><code>Injector</code></a> only operates on calling factory functions.
.l-main-section
h2 Members

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Di",
"intro" : "The `di` module provides dependency injection container services."
},
"Binding-class" : {
"title" : "Binding Class"
},

View File

@ -8,9 +8,9 @@
exported from <a href="/angular2/di.html">angular2/di</a>
:markdown
Provides an API for imperatively constructing <a href="Binding-class.html"><code>Binding</code></a>s.
Provides an API for imperatively constructing <a href='Binding-class.html'><code>Binding</code></a>s.
This is only relevant for JavaScript. See <a href="BindingBuilder-class.html"><code>BindingBuilder</code></a>.
This is only relevant for JavaScript. See <a href='BindingBuilder-class.html'><code>BindingBuilder</code></a>.
## Example

View File

@ -4,5 +4,5 @@ ul
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,8 +0,0 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -4,7 +4,7 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/annotations.js#L77">angular2/src/di/annotations.js (line 77)</a>
:markdown
A parameter annotation that marks a dependency as optional. <a href="../di/Injector-class.html"><code>Injector</code></a> provides `null` if the dependency is not
A parameter annotation that marks a dependency as optional. <a href='../di/Injector-class.html'><code>Injector</code></a> provides `null` if the dependency is not
found.
```

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Di Annotations",
"intro" : "Annotations which control how the dependencies are resolved by the <a href='../di/Injector-class.html'><code>Injector</code></a>."
},
"Inject-class" : {
"title" : "Inject Class"
},

View File

@ -0,0 +1,8 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,8 +0,0 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -4,7 +4,7 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/exceptions.js#L95">angular2/src/di/exceptions.js (line 95)</a>
:markdown
Thrown when trying to retrieve an async <a href="../di/Binding-class.html"><code>Binding</code></a> using the sync API.
Thrown when trying to retrieve an async <a href='../di/Binding-class.html'><code>Binding</code></a> using the sync API.
## Example

View File

@ -4,7 +4,7 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/exceptions.js#L161">angular2/src/di/exceptions.js (line 161)</a>
:markdown
Thrown when an object other then <a href="../di/Binding-class.html"><code>Binding</code></a> (or `Type`) is passed to <a href="../di/Injector-class.html"><code>Injector</code></a> creation.
Thrown when an object other then <a href='../di/Binding-class.html'><code>Binding</code></a> (or `Type`) is passed to <a href='../di/Injector-class.html'><code>Injector</code></a> creation.
.l-main-section
h2 Members

View File

@ -6,7 +6,7 @@ p.location-badge.
:markdown
Thrown when the class has no annotation information.
Lack of annotation information prevents the <a href="../di/Injector-class.html"><code>Injector</code></a> from determining which dependencies need to be injected into
Lack of annotation information prevents the <a href='../di/Injector-class.html'><code>Injector</code></a> from determining which dependencies need to be injected into
the constructor.
.l-main-section

View File

@ -4,8 +4,8 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/di/exceptions.js#L61">angular2/src/di/exceptions.js (line 61)</a>
:markdown
Thrown when trying to retrieve a dependency by `Key` from <a href="../di/Injector-class.html"><code>Injector</code></a>, but the <a href="../di/Injector-class.html"><code>Injector</code></a> does not have a
<a href="../di/Binding-class.html"><code>Binding</code></a> for <a href="../di/Key-class.html"><code>Key</code></a>.
Thrown when trying to retrieve a dependency by `Key` from <a href='../di/Injector-class.html'><code>Injector</code></a>, but the <a href='../di/Injector-class.html'><code>Injector</code></a> does not have a
<a href='../di/Binding-class.html'><code>Binding</code></a> for <a href='../di/Key-class.html'><code>Key</code></a>.
.l-main-section
h2 Members

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Di Errors",
"intro" : "Errors thrown by the <a href='../di/Injector-class.html'><code>Injector</code></a>."
},
"AbstractBindingError-class" : {
"title" : "AbstractBindingError Class"
},

View File

@ -0,0 +1,8 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,8 +0,0 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Directives",
"intro" : "Common directives shipped with Angualr."
},
"For-class" : {
"title" : "For Class"
},

View File

@ -0,0 +1,8 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,8 +0,0 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -7,7 +7,7 @@ p.location-badge.
Defines a part of a form that cannot be divided into other controls.
`Control` is one of the three fundamental building blocks used to define forms in Angular, along with
<a href="ControlGroup-class.html"><code>ControlGroup</code></a> and <a href="ControlArray-class.html"><code>ControlArray</code></a>.
<a href='ControlGroup-class.html'><code>ControlGroup</code></a> and <a href='ControlArray-class.html'><code>ControlArray</code></a>.
.l-main-section
h2 Members

View File

@ -6,12 +6,12 @@ p.location-badge.
:markdown
Defines a part of a form, of variable length, that can contain other controls.
A `ControlArray` aggregates the values and errors of each <a href="Control-class.html"><code>Control</code></a> in the group. Thus, if one of the controls
A `ControlArray` aggregates the values and errors of each <a href='Control-class.html'><code>Control</code></a> in the group. Thus, if one of the controls
in a group is invalid, the entire group is invalid. Similarly, if a control changes its value, the entire group
changes as well.
`ControlArray` is one of the three fundamental building blocks used to define forms in Angular, along with
<a href="Control-class.html"><code>Control</code></a> and <a href="ControlGroup-class.html"><code>ControlGroup</code></a>. <a href="ControlGroup-class.html"><code>ControlGroup</code></a> can also contain other controls, but is of fixed
<a href='Control-class.html'><code>Control</code></a> and <a href='ControlGroup-class.html'><code>ControlGroup</code></a>. <a href='ControlGroup-class.html'><code>ControlGroup</code></a> can also contain other controls, but is of fixed
length.
.l-main-section

View File

@ -12,7 +12,7 @@ p.location-badge.
the control will reflect that change. Likewise, if the value of the control changes, the input element reflects that
change.
Here we use <a href="FormDirectives-var.html"><code>FormDirectives</code></a>, rather than importing each form directive individually, e.g.
Here we use <a href='FormDirectives-var.html'><code>FormDirectives</code></a>, rather than importing each form directive individually, e.g.
`ControlDirective`, `ControlGroupDirective`. This is just a shorthand for the same end result.
```

View File

@ -6,12 +6,12 @@ p.location-badge.
:markdown
Defines a part of a form, of fixed length, that can contain other controls.
A ControlGroup aggregates the values and errors of each <a href="Control-class.html"><code>Control</code></a> in the group. Thus, if one of the controls
A ControlGroup aggregates the values and errors of each <a href='Control-class.html'><code>Control</code></a> in the group. Thus, if one of the controls
in a group is invalid, the entire group is invalid. Similarly, if a control changes its value, the entire group
changes as well.
`ControlGroup` is one of the three fundamental building blocks used to define forms in Angular, along with
<a href="Control-class.html"><code>Control</code></a> and <a href="ControlArray-class.html"><code>ControlArray</code></a>. <a href="ControlArray-class.html"><code>ControlArray</code></a> can also contain other controls, but is of variable
<a href='Control-class.html'><code>Control</code></a> and <a href='ControlArray-class.html'><code>ControlArray</code></a>. <a href='ControlArray-class.html'><code>ControlArray</code></a> can also contain other controls, but is of variable
length.
.l-main-section

View File

@ -11,7 +11,7 @@ p.location-badge.
In this example, we bind the control group to the form element, and we bind the login and password controls to the
login and password elements.
Here we use <a href="FormDirectives-var.html"><code>FormDirectives</code></a>, rather than importing each form directive individually, e.g.
Here we use <a href='FormDirectives-var.html'><code>FormDirectives</code></a>, rather than importing each form directive individually, e.g.
`ControlDirective`, `ControlGroupDirective`. This is just a shorthand for the same end result.
```

View File

@ -4,7 +4,7 @@ p.location-badge.
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/forms/directives.js#L31">angular2/src/forms/directives.js (line 31)</a>
:markdown
The default accessor for writing a value and listening to changes that is used by a <a href="Control-class.html"><code>Control</code></a> directive.
The default accessor for writing a value and listening to changes that is used by a <a href='Control-class.html'><code>Control</code></a> directive.
This is the default strategy that Angular uses when no other accessor is applied.

View File

@ -8,8 +8,8 @@ p.location-badge.
# Example
This example creates a <a href="ControlGroup-class.html"><code>ControlGroup</code></a> that consists of a `login` <a href="Control-class.html"><code>Control</code></a>, and a nested
<a href="ControlGroup-class.html"><code>ControlGroup</code></a> that defines a `password` and a `passwordConfirmation` <a href="Control-class.html"><code>Control</code></a>.
This example creates a <a href='ControlGroup-class.html'><code>ControlGroup</code></a> that consists of a `login` <a href='Control-class.html'><code>Control</code></a>, and a nested
<a href='ControlGroup-class.html'><code>ControlGroup</code></a> that defines a `password` and a `passwordConfirmation` <a href='Control-class.html'><code>Control</code></a>.
```
var loginForm = builder.group({

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Forms",
"intro" : "This module is used for handling user input, by defining and building a <a href='ControlGroup-class.html'><code>ControlGroup</code></a> that consists of<a href='Control-class.html'><code>Control</code></a> objects, and mapping them onto the DOM. <a href='Control-class.html'><code>Control</code></a> objects can then be used to read informationfrom the form DOM elements.This module is not included in the `angular2` module; you must import the forms module explicitly."
},
"DefaultValueAccessor-class" : {
"title" : "DefaultValueAccessor Class"
},

View File

@ -0,0 +1,8 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -9,9 +9,11 @@
<a href="https://docs.angularjs.org/api">use Angular 1.X</a>.
ul
for page, slug in public.docs[current.path[1]][current.path[2]].api._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + slug + ".html"
for page, slug in public.docs[current.path[1]][current.path[2]].api
if slug != 'index' && slug != '_contents' && slug != '_data'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + slug
title = public.docs[current.path[1]][current.path[2]][current.path[3]][slug]._data["index"]["title"]
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })
!= partial("../../../../_includes/_hover-card", {name: title, url: url })

View File

@ -1,8 +0,0 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -6,7 +6,7 @@ p.location-badge.
:markdown
An interface for extending the list of pipes known to Angular.
If you are writing a custom <a href="Pipe-class.html"><code>Pipe</code></a>, you must extend this interface.
If you are writing a custom <a href='Pipe-class.html'><code>Pipe</code></a>, you must extend this interface.
#Example

View File

@ -1,4 +1,9 @@
{
"index" : {
"title" : "Pipes",
"intro" : "This module provides advanced support for extending change detection."
},
"keyValDiff-var" : {
"title" : "keyValDiff Var"
},

View File

@ -0,0 +1,8 @@
ul
for page, slug in public.docs[current.path[1]][current.path[2]][current.path[3]][current.path[4]]._data
if slug != 'index'
url = "/docs/" + current.path[1] + "/" + current.path[2] + "/" + current.path[3] + "/" + current.path[4] + "/" + slug + ".html"
li.c8
!= partial("../../../../../_includes/_hover-card", {name: page.title, url: url })

View File

@ -1,5 +0,0 @@
{
"AbstractChangeDetector-class" : {
"title" : "AbstractChangeDetector Class"
}
}

View File

@ -1,5 +0,0 @@
{
"BindingRecord-class" : {
"title" : "BindingRecord Class"
}
}

View File

@ -1,29 +0,0 @@
{
"keyValDiff-var" : {
"title" : "keyValDiff Var"
},
"iterableDiff-var" : {
"title" : "iterableDiff Var"
},
"async-var" : {
"title" : "async Var"
},
"defaultPipes-var" : {
"title" : "defaultPipes Var"
},
"DynamicChangeDetection-class" : {
"title" : "DynamicChangeDetection Class"
},
"JitChangeDetection-class" : {
"title" : "JitChangeDetection Class"
},
"defaultPipeRegistry-var" : {
"title" : "defaultPipeRegistry Var"
}
}

View File

@ -1,5 +0,0 @@
{
"ChangeDetectorJITGenerator-class" : {
"title" : "ChangeDetectorJITGenerator Class"
}
}

View File

@ -1,13 +0,0 @@
{
"uninitialized-var" : {
"title" : "uninitialized Var"
},
"SimpleChange-class" : {
"title" : "SimpleChange Class"
},
"ChangeDetectionUtil-class" : {
"title" : "ChangeDetectionUtil Class"
}
}

View File

@ -1,5 +0,0 @@
{
"ChangeDetectorRef-class" : {
"title" : "ChangeDetectorRef Class"
}
}

View File

@ -1,5 +0,0 @@
{
"coalesce-function" : {
"title" : "coalesce Function"
}
}

View File

@ -1,25 +0,0 @@
{
"CHECK_ONCE-var" : {
"title" : "CHECK_ONCE Var"
},
"CHECKED-var" : {
"title" : "CHECKED Var"
},
"CHECK_ALWAYS-var" : {
"title" : "CHECK_ALWAYS Var"
},
"DETACHED-var" : {
"title" : "DETACHED Var"
},
"ON_PUSH-var" : {
"title" : "ON_PUSH Var"
},
"DEFAULT-var" : {
"title" : "DEFAULT Var"
}
}

View File

@ -1,5 +0,0 @@
{
"DirectiveRecord-class" : {
"title" : "DirectiveRecord Class"
}
}

View File

@ -1,5 +0,0 @@
{
"DynamicChangeDetector-class" : {
"title" : "DynamicChangeDetector Class"
}
}

View File

@ -1,9 +0,0 @@
{
"ExpressionChangedAfterItHasBeenChecked-class" : {
"title" : "ExpressionChangedAfterItHasBeenChecked Class"
},
"ChangeDetectionError-class" : {
"title" : "ChangeDetectionError Class"
}
}

View File

@ -1,17 +0,0 @@
{
"ProtoChangeDetector-class" : {
"title" : "ProtoChangeDetector Class"
},
"ChangeDetection-class" : {
"title" : "ChangeDetection Class"
},
"ChangeDispatcher-class" : {
"title" : "ChangeDispatcher Class"
},
"ChangeDetector-class" : {
"title" : "ChangeDetector Class"
}
}

View File

@ -1,85 +0,0 @@
{
"AST-class" : {
"title" : "AST Class"
},
"EmptyExpr-class" : {
"title" : "EmptyExpr Class"
},
"ImplicitReceiver-class" : {
"title" : "ImplicitReceiver Class"
},
"Chain-class" : {
"title" : "Chain Class"
},
"Conditional-class" : {
"title" : "Conditional Class"
},
"AccessMember-class" : {
"title" : "AccessMember Class"
},
"KeyedAccess-class" : {
"title" : "KeyedAccess Class"
},
"Pipe-class" : {
"title" : "Pipe Class"
},
"LiteralPrimitive-class" : {
"title" : "LiteralPrimitive Class"
},
"LiteralArray-class" : {
"title" : "LiteralArray Class"
},
"LiteralMap-class" : {
"title" : "LiteralMap Class"
},
"Interpolation-class" : {
"title" : "Interpolation Class"
},
"Binary-class" : {
"title" : "Binary Class"
},
"PrefixNot-class" : {
"title" : "PrefixNot Class"
},
"Assignment-class" : {
"title" : "Assignment Class"
},
"MethodCall-class" : {
"title" : "MethodCall Class"
},
"FunctionCall-class" : {
"title" : "FunctionCall Class"
},
"ASTWithSource-class" : {
"title" : "ASTWithSource Class"
},
"TemplateBinding-class" : {
"title" : "TemplateBinding Class"
},
"AstVisitor-class" : {
"title" : "AstVisitor Class"
},
"AstTransformer-class" : {
"title" : "AstTransformer Class"
}
}

View File

@ -1,177 +0,0 @@
{
"TOKEN_TYPE_CHARACTER-var" : {
"title" : "TOKEN_TYPE_CHARACTER Var"
},
"TOKEN_TYPE_IDENTIFIER-var" : {
"title" : "TOKEN_TYPE_IDENTIFIER Var"
},
"TOKEN_TYPE_KEYWORD-var" : {
"title" : "TOKEN_TYPE_KEYWORD Var"
},
"TOKEN_TYPE_STRING-var" : {
"title" : "TOKEN_TYPE_STRING Var"
},
"TOKEN_TYPE_OPERATOR-var" : {
"title" : "TOKEN_TYPE_OPERATOR Var"
},
"TOKEN_TYPE_NUMBER-var" : {
"title" : "TOKEN_TYPE_NUMBER Var"
},
"Lexer-class" : {
"title" : "Lexer Class"
},
"Token-class" : {
"title" : "Token Class"
},
"EOF-var" : {
"title" : "EOF Var"
},
"$EOF-var" : {
"title" : "$EOF Var"
},
"$TAB-var" : {
"title" : "$TAB Var"
},
"$LF-var" : {
"title" : "$LF Var"
},
"$VTAB-var" : {
"title" : "$VTAB Var"
},
"$FF-var" : {
"title" : "$FF Var"
},
"$CR-var" : {
"title" : "$CR Var"
},
"$SPACE-var" : {
"title" : "$SPACE Var"
},
"$BANG-var" : {
"title" : "$BANG Var"
},
"$DQ-var" : {
"title" : "$DQ Var"
},
"$HASH-var" : {
"title" : "$HASH Var"
},
"$$-var" : {
"title" : "$$ Var"
},
"$PERCENT-var" : {
"title" : "$PERCENT Var"
},
"$AMPERSAND-var" : {
"title" : "$AMPERSAND Var"
},
"$SQ-var" : {
"title" : "$SQ Var"
},
"$LPAREN-var" : {
"title" : "$LPAREN Var"
},
"$RPAREN-var" : {
"title" : "$RPAREN Var"
},
"$STAR-var" : {
"title" : "$STAR Var"
},
"$PLUS-var" : {
"title" : "$PLUS Var"
},
"$COMMA-var" : {
"title" : "$COMMA Var"
},
"$MINUS-var" : {
"title" : "$MINUS Var"
},
"$PERIOD-var" : {
"title" : "$PERIOD Var"
},
"$SLASH-var" : {
"title" : "$SLASH Var"
},
"$COLON-var" : {
"title" : "$COLON Var"
},
"$SEMICOLON-var" : {
"title" : "$SEMICOLON Var"
},
"$LT-var" : {
"title" : "$LT Var"
},
"$EQ-var" : {
"title" : "$EQ Var"
},
"$GT-var" : {
"title" : "$GT Var"
},
"$QUESTION-var" : {
"title" : "$QUESTION Var"
},
"$LBRACKET-var" : {
"title" : "$LBRACKET Var"
},
"$BACKSLASH-var" : {
"title" : "$BACKSLASH Var"
},
"$RBRACKET-var" : {
"title" : "$RBRACKET Var"
},
"$LBRACE-var" : {
"title" : "$LBRACE Var"
},
"$BAR-var" : {
"title" : "$BAR Var"
},
"$RBRACE-var" : {
"title" : "$RBRACE Var"
},
"ScannerError-class" : {
"title" : "ScannerError Class"
}
}

View File

@ -1,5 +0,0 @@
{
"Locals-class" : {
"title" : "Locals Class"
}
}

View File

@ -1,5 +0,0 @@
{
"Parser-class" : {
"title" : "Parser Class"
}
}

View File

@ -1,9 +0,0 @@
{
"AsyncPipe-class" : {
"title" : "AsyncPipe Class"
},
"AsyncPipeFactory-class" : {
"title" : "AsyncPipeFactory Class"
}
}

View File

@ -1,13 +0,0 @@
{
"IterableChangesFactory-class" : {
"title" : "IterableChangesFactory Class"
},
"IterableChanges-class" : {
"title" : "IterableChanges Class"
},
"CollectionChangeRecord-class" : {
"title" : "CollectionChangeRecord Class"
}
}

View File

@ -1,13 +0,0 @@
{
"KeyValueChangesFactory-class" : {
"title" : "KeyValueChangesFactory Class"
},
"KeyValueChanges-class" : {
"title" : "KeyValueChanges Class"
},
"KVChangeRecord-class" : {
"title" : "KVChangeRecord Class"
}
}

View File

@ -1,9 +0,0 @@
{
"NullPipeFactory-class" : {
"title" : "NullPipeFactory Class"
},
"NullPipe-class" : {
"title" : "NullPipe Class"
}
}

View File

@ -1,9 +0,0 @@
{
"NO_CHANGE-var" : {
"title" : "NO_CHANGE Var"
},
"Pipe-class" : {
"title" : "Pipe Class"
}
}

View File

@ -1,5 +0,0 @@
{
"PipeRegistry-class" : {
"title" : "PipeRegistry Class"
}
}

View File

@ -1,9 +0,0 @@
{
"DynamicProtoChangeDetector-class" : {
"title" : "DynamicProtoChangeDetector Class"
},
"JitProtoChangeDetector-class" : {
"title" : "JitProtoChangeDetector Class"
}
}

View File

@ -1,49 +0,0 @@
{
"RECORD_TYPE_SELF-var" : {
"title" : "RECORD_TYPE_SELF Var"
},
"RECORD_TYPE_CONST-var" : {
"title" : "RECORD_TYPE_CONST Var"
},
"RECORD_TYPE_PRIMITIVE_OP-var" : {
"title" : "RECORD_TYPE_PRIMITIVE_OP Var"
},
"RECORD_TYPE_PROPERTY-var" : {
"title" : "RECORD_TYPE_PROPERTY Var"
},
"RECORD_TYPE_LOCAL-var" : {
"title" : "RECORD_TYPE_LOCAL Var"
},
"RECORD_TYPE_INVOKE_METHOD-var" : {
"title" : "RECORD_TYPE_INVOKE_METHOD Var"
},
"RECORD_TYPE_INVOKE_CLOSURE-var" : {
"title" : "RECORD_TYPE_INVOKE_CLOSURE Var"
},
"RECORD_TYPE_KEYED_ACCESS-var" : {
"title" : "RECORD_TYPE_KEYED_ACCESS Var"
},
"RECORD_TYPE_PIPE-var" : {
"title" : "RECORD_TYPE_PIPE Var"
},
"RECORD_TYPE_BINDING_PIPE-var" : {
"title" : "RECORD_TYPE_BINDING_PIPE Var"
},
"RECORD_TYPE_INTERPOLATE-var" : {
"title" : "RECORD_TYPE_INTERPOLATE Var"
},
"ProtoRecord-class" : {
"title" : "ProtoRecord Class"
}
}

View File

@ -1,33 +0,0 @@
{
"Directive-class" : {
"title" : "Directive Class"
},
"Component-class" : {
"title" : "Component Class"
},
"DynamicComponent-class" : {
"title" : "DynamicComponent Class"
},
"Decorator-class" : {
"title" : "Decorator Class"
},
"Viewport-class" : {
"title" : "Viewport Class"
},
"onDestroy-var" : {
"title" : "onDestroy Var"
},
"onChange-var" : {
"title" : "onChange Var"
},
"onAllChangesDone-var" : {
"title" : "onAllChangesDone Var"
}
}

View File

@ -1,13 +0,0 @@
{
"PropertySetter-class" : {
"title" : "PropertySetter Class"
},
"Attribute-class" : {
"title" : "Attribute Class"
},
"Query-class" : {
"title" : "Query Class"
}
}

View File

@ -1,5 +0,0 @@
{
"View-class" : {
"title" : "View Class"
}
}

View File

@ -1,9 +0,0 @@
{
"Parent-class" : {
"title" : "Parent Class"
},
"Ancestor-class" : {
"title" : "Ancestor Class"
}
}

View File

@ -1,5 +0,0 @@
{
"bootstrap-function" : {
"title" : "bootstrap Function"
}
}

View File

@ -1,21 +0,0 @@
{
"appComponentRefToken-var" : {
"title" : "appComponentRefToken Var"
},
"appChangeDetectorToken-var" : {
"title" : "appChangeDetectorToken Var"
},
"appElementToken-var" : {
"title" : "appElementToken Var"
},
"appComponentAnnotatedTypeToken-var" : {
"title" : "appComponentAnnotatedTypeToken Var"
},
"appDocumentToken-var" : {
"title" : "appDocumentToken Var"
}
}

View File

@ -1,5 +0,0 @@
{
"BaseQueryList-class" : {
"title" : "BaseQueryList Class"
}
}

View File

@ -1,9 +0,0 @@
{
"CompilerCache-class" : {
"title" : "CompilerCache Class"
},
"Compiler-class" : {
"title" : "Compiler Class"
}
}

View File

@ -1,9 +0,0 @@
{
"ComponentUrlMapper-class" : {
"title" : "ComponentUrlMapper Class"
},
"RuntimeComponentUrlMapper-class" : {
"title" : "RuntimeComponentUrlMapper Class"
}
}

View File

@ -1,5 +0,0 @@
{
"DirectiveMetadata-class" : {
"title" : "DirectiveMetadata Class"
}
}

View File

@ -1,5 +0,0 @@
{
"DirectiveMetadataReader-class" : {
"title" : "DirectiveMetadataReader Class"
}
}

View File

@ -1,9 +0,0 @@
{
"ComponentRef-class" : {
"title" : "ComponentRef Class"
},
"DynamicComponentLoader-class" : {
"title" : "DynamicComponentLoader Class"
}
}

View File

@ -1,5 +0,0 @@
{
"ElementBinder-class" : {
"title" : "ElementBinder Class"
}
}

View File

@ -1,29 +0,0 @@
{
"ElementRef-class" : {
"title" : "ElementRef Class"
},
"TreeNode-class" : {
"title" : "TreeNode Class"
},
"DirectiveDependency-class" : {
"title" : "DirectiveDependency Class"
},
"DirectiveBinding-class" : {
"title" : "DirectiveBinding Class"
},
"PreBuiltObjects-class" : {
"title" : "PreBuiltObjects Class"
},
"ProtoElementInjector-class" : {
"title" : "ProtoElementInjector Class"
},
"ElementInjector-class" : {
"title" : "ElementInjector Class"
}
}

View File

@ -1,5 +0,0 @@
{
"OnChange-class" : {
"title" : "OnChange Class"
}
}

View File

@ -1,5 +0,0 @@
{
"NgElement-class" : {
"title" : "NgElement Class"
}
}

View File

@ -1,5 +0,0 @@
{
"ProtoViewFactory-class" : {
"title" : "ProtoViewFactory Class"
}
}

Some files were not shown because too many files have changed in this diff Show More