<div class="header-panel member">
<h2><span class="identifier">WjOptions</span> Class</h2>
<dl class="dl-horizontal">
<dt>File</dt><dd class="filename">wijmo.angular2.js</dd>
<dt>Module</dt><dd><a href="topic/wijmo-wijmo.angular2.directiveBase.Module.html"><span class="identifier">wijmo/wijmo.angular2.directiveBase</span></a></dd>
</dl>
<div class="comment"><p>Exposes global options for the Wijmo for Angular 2 interop.</p></div>
</div>
<div class="member-panel class members" ng-class="{ 'show-inherited' : ctx.showInherited, 'show-raisers' : ctx.showRaisers }">
<h3 class="node">Properties</h3>
<ul>
<li class="mproperty"><a href="topic/wijmo-wijmo.angular2.directiveBase.WjOptions.Class.html/#asyncBindings">asyncBindings</a></li>
</ul>
</div>
<h3 class="node">Properties</h3>
<div class="member-list" ng-class="{ 'show-inherited' : ctx.showInherited, 'show-raisers' : ctx.showRaisers }">
<div id="asyncBindings" class="member-panel mproperty">
<h3><span class="badge">Static</span> asyncBindings</h3>
<div class="comment"><p>Indicates whether Wijmo components update binding sources of the two-way bound properties asynchronously
or synchronously.</p>
<p>If this property is set to true (default) then changes to the Wijmo components' properties
with two-way bindings (like WjInputNumber.value) will cause the component to update a binding
source property asynchronously, after the current change detection cycle is completed.
Otherwise, if this property is set to false, the binding source will be updated immediately.
A corresponding property change event (like WjInputNumber.valueChanged) is also triggered
asynchronously or synchronously depending on this property value, after the binding source
was updated.</p>
<p>This global setting can be changed for specific instances of Wijmo components, by assigning
the component's <b>asyncBindings</b> property with a specific boolean value.</p>
<p>Transition to asynchronous binding source updates has happened in Wijmo version 350. Before that version,
binding sources were updated immediately after the component's property change. In some cases this
could lead to the <b>ExpressionChangedAfterItHasBeenCheckedError</b> exception in the applications running
Angular in the debug mode. For example, if your component's property value is set to 0.12345, and
you two-way bind it to the <b>value</b> property of the <b>WjInputNumber</b> component with the <b>format</b>
property set to <b>'n2'</b>, the WjInputNumber immediately converts this value to 0.12. This change,
in turn, causes Angular to update your component property (the source of this binding), so that its
value changes from 0.12345 to 0.12. If this source update is performed synchronously then the binding
source property changes its value during the same change detection cycle, which is prohibited by Angular.
If Angular runs in debug mode then it executes a special check after every change detection cycle, which
detects this change and raises the <b>ExpressionChangedAfterItHasBeenCheckedError</b> exception.
Asynchronous binding source updates resolve this problem, because the binding source property
is updated after the current change detection cycle has finished.</p>
<p>If the <b>ExpressionChangedAfterItHasBeenCheckedError</b> is not an issue for you, and parts of
you application logic are sensible to a moment when binding source update happens, you can change
this functionality by setting the global <b>asyncBindings</b> property to false. This should be
done before the first Wijmo component was instantiated by your application logic, and the best
place to do it is the file where you declare the application's root NgModule. This can be done
with the code like this:
</p>

<pre>import * as wjBase from 'wijmo/wijmo.angular2.directiveBase';
wjBase.WjOptions.asyncBindings = false;</pre>
<p>Alternatively, you can change the update mode for the specific component using its own
<b>asyncBindings</b> property. For example:
</p>

<pre>&lt;wj-input-number [asyncBindings]="false" [(value)]="amount"&gt;&lt;/wj-input-number&gt;</pre></div>
<dl class="dl-horizontal">
  <dt>Type</dt><dd><a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Boolean" target="_blank"><span class="identifier">boolean</span></a></dd>
</dl>
</div>
</div>
