Let's understand value providers in Lightning Components, before diving deeper into attributes. Value providers hold data and provide a way to access that data. Lightning Components have two types of value providers out of the box. They are listed in the following table:
Value provider | Description |
v (view) |
This allows access to the value of the attribute in the Component Markup. |
c (controller) |
This allows you to wire events and actions . |
An attribute is a placeholder to hold data. You can treat attributes like Java variables. The following is the syntax to define attributes:
<aura:component>
<aura:attribute name="searchString" type="String" default="lighnting components"/>
</aura:component>
Name and data type are mandatory when defining attributes. An attribute can be one of the following types: primitive (string, integer, decimal, Boolean, double, date, dateTime), arrays (sets, list, maps), objects, custom Apex, functions, or Salesforce sobject. To explore more, head to the standard documentation at https://developer.Salesforce.com/docs/atlas.en-us.Lightning.meta/Lightning/ref_aura_attribute.htm.
Use the Expression syntax to display a value from an attribute. The Expression syntax format is shown here:
<aura:component>
<aura:attribute name="searchString" type="String" default="lighnting components"/>
<p>{!v.searchString}</p>
</aura:component>