Thursday, September 6, 2018

aura:handler Init in Salesforce Lightning

This is also called as the constructor of lightning component. The init method is called once the component construction is over, as an example if I am creating a simple registration page and I want to display some default text value after page load in my input boxes I can do this by calling the javascript controller method and setting some default value in the attributes.
Basic Syntax:

<aura:handler  name="init" value="{!this}" action="{!c.doinit}"/>

Let's take an example where we will be setting some default values in map type attribute and then displaying it.

Step 1) Build a lightning Component,

<aura:component controller="Mapvalue"  >

    <aura:handler  name="init" value="{!this}" action="{!c.doinit}"/>

        <aura:attribute type="map" name="Mapuse"/>  // Map type attribute to hold map value

Note: The init method get's call after the construction of component is over and will call doinit method in javascript controller.

Step 2: Under javascript controller.

 doinit : function(component, event, helper) {    //  component, event, helper are parameter                                                                                                of doinit function
      var action=  component.get('c.getmymap');  // Calling apex method
        action.setCallback(this,function(response)   // getting response back from apex method
                  var state=response.getState();            // getting the state
            component.set('v.Mapuse',response.getReturnValue());    // setting the value in attribute


Step 3:Build apex controller.

public class Mapvalue {
    @AuraEnabled     // Method must be AuraEnabled in apex
    public static map<string,string> getmymap()
        map<string,string> putkeyvalue= new map<string,string>();
        putkeyvalue.put('key1', 'Value1');
         putkeyvalue.put('key2', 'Value2');
         putkeyvalue.put('key3', 'Value3');
        return putkeyvalue;


Step 4: Previewing with application.

<aura:application extends="force:slds">

After preview,

Init Event in Salesforce Lightning

No comments:

Post a Comment