• Overview
@angular/core

BootstrapOptions

interface

Provides additional options to the bootstrapping process.

  
    interface BootstrapOptions {}
  
  

ngZone

NgZone | "zone.js" | "noop" | undefined

Optionally specify which NgZone should be used when not configured in the providers.

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

ngZoneEventCoalescing

boolean | undefined

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 | undefined

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.

ignoreChangesOutsideZone

boolean | undefined
@deprecated

This option was introduced out of caution as a way for developers to opt out of the new behavior in v18 which schedule change detection for the above events when they occur outside the Zone. After monitoring the results post-release, we have determined that this feature is working as desired and do not believe it should ever be disabled by setting this option to true.

When false, change detection is scheduled when Angular receives a clear indication that templates need to be refreshed. This includes:

  • calling ChangeDetectorRef.markForCheck
  • calling ComponentRef.setInput
  • updating a signal that is read in a template
  • attaching a view that is marked dirty
  • removing a view
  • registering a render hook (templates are only refreshed if render hooks do one of the above)
Jump to details