Unbound expression bindings
Two-way data-binding, using {!v.expression} is expensive on performance. If you do not need to keep your UI in sync with model changes, then prefer one-way data bindings. This can improve the rendering time of the application, since the framework need not maintain event listeners.
The syntax for the unbound expression is as follows:
{#!v.expression}Let's consider the following example code snippet, where you will need to pass an attribute value from parent to child, using an unbound expression. With one-way binding, notice that any changes to the child attribute are not propagated to the parent. Let's take a look:
<!--c:childExpr-->
<aura:component>
<aura:attribute name="childAttr" type="String" />
<p>childExpr childAttr: {!v.childAttr}</p>
<p><Lightning:button label="Update childAttr"
onclick="{!c.updateChildAttr}"/></p>
</aura:component>The controller code to update a child is as follows...