W3cubDocs

/Angular

BootstrapOptions

interface

Provides additional options to the bootstrapping process.

interface BootstrapOptions {
  ngZone?: NgZone | 'zone.js' | 'noop'
  ngZoneEventCoalescing?: boolean
  ngZoneRunCoalescing?: boolean
}

Properties

Property Description
ngZone?: NgZone | 'zone.js' | 'noop'

Optionally specify which NgZone should be used.

  • Provide your own NgZone instance.
  • zone.js - Use default NgZone which requires Zone.js.
  • noop - Use NoopNgZone which does nothing.
ngZoneEventCoalescing?: boolean

Optionally specify coalescing event change detections or not. Consider the following case.

<div (click)="doSomething()">
  <button (click)="doSomethingElse()"></button>
</div>

When button is clicked, because of the event bubbling, both event handlers will be called and 2 change detections will be triggered. We can coalesce such kind of events to only trigger change detection only once.

By default, this option will be false. So the events will not be coalesced and the change detection will be triggered multiple times. And if this option be set to true, the change detection will be triggered async by scheduling a animation frame. So in the case above, the change detection will only be triggered once.

ngZoneRunCoalescing?: boolean

Optionally specify if NgZone#run() method invocations should be coalesced into a single change detection.

Consider the following case.

for (let i = 0; i < 10; i ++) {
  ngZone.run(() => {
    // do something
  });
}

This case triggers the change detection multiple times. With ngZoneRunCoalescing options, all change detections in an event loop trigger only once. In addition, the change detection executes in requestAnimation.

© 2010–2023 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/core/BootstrapOptions