2015-04-23 08:27:36 -07:00

79 lines
2.1 KiB
Plaintext

p.location-badge.
exported from <a href="/angular2/change_detection.html">angular2/change_detection</a>
defined in <a href="https://github.com/angular/angular/tree/master/modules/angular2/src/core/life_cycle/life_cycle.js#L31">angular2/src/core/life_cycle/life_cycle.js (line 31)</a>
:markdown
Provides access to explicitly trigger change detection in an application.
By default, `Zone` triggers change detection in Angular on each virtual machine (VM) turn. When testing, or in some
limited application use cases, a developer can also trigger change detection with the `lifecycle.tick()` method.
Each Angular application has a single `LifeCycle` instance.
# Example
This is a contrived example, since the bootstrap automatically runs inside of the `Zone`, which invokes
`lifecycle.tick()` on your behalf.
```javascript
bootstrap(MyApp).then((ref:ComponentRef) => {
var lifeCycle = ref.injector.get(LifeCycle);
var myApp = ref.instance;
ref.doSomething();
lifecycle.tick();
});
```
.l-main-section
h2 Members
.l-sub-section
h3 constructor
pre.prettyprint
code.
constructor(exceptionHandler:ExceptionHandler, changeDetector:ChangeDetector = null, enforceNoNewChanges:boolean = false)
:markdown
.l-sub-section
h3 registerWith
pre.prettyprint
code.
registerWith(zone:VmTurnZone, changeDetector:ChangeDetector = null)
:markdown
.l-sub-section
h3 tick
pre.prettyprint
code.
tick()
:markdown
Invoke this method to explicitly process change detection and its side-effects.
In development mode, `tick()` also performs a second change detection cycle to ensure that no further
changes are detected. If additional changes are picked up during this second cycle, bindings in the app have
side-effects that cannot be resolved in a single change detection pass. In this case, Angular throws an error,
since an Angular application can only have one change detection pass during which all change detection must
complete.