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,
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.
Step 3:Build apex controller.
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
{!v.Mapuse.key1}
{!v.Mapuse.key2}
{!v.Mapuse.key3}
</aura:component>
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
if(state==='SUCCESS')
{
component.set('v.Mapuse',response.getReturnValue()); // setting the value in attribute
}
});
$A.enqueueAction(action);
}
})
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">
<c:Firstlightningcomponent/>
</aura:application>
No comments:
Post a Comment