Activity Forums Salesforce® Discussions In Salesforce, When to use {#v.attrib} vs {!v.attrib}?

  • Vikas Kumar

    Member
    January 23, 2017 at 8:02 am

    Hi Tanu,

    If you want to show a value dynamically based on a aura:attribute, generally we tend to use: {!v.attrib}

    Eg: <ui:button label="{!v.attrib}" />

    So if you do cmp.set('v.attrib','test'), then aura:framework automagically does an dirty checking and changes the value accordingly.(Two-way binding)

    So the label of the <ui:button> is set to test, just think of this as special expression that directly point to the live reference of the attribute in the component(JS perspective), which is quiet similar to {{v.attrib}} expression in Angularjs which eventually does the same thing.

    What if you want to show a value dynamically based on a aura:attribute but it needs to work only once,when it is rendered in the view initially.

    So you should go with : {#v.attrib} expression, which might improve the performance if there large no.of such expression(where you don't need such bindings), because it won't be taken into account during dirty checking.AngularJS also has the same one-way binding stuff in its armour : {{::v.attrib}}

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos