$ContentAsset
Reference $ContentAsset asset files by name instead of using cumbersome file paths or URLs. $ContentAsset provides sharing, versioning, and access control for all asset files, as well as options for mobile optimization and resizing of image files. You can use $ContentAsset in Lightning components markup and within JavaScript controller and helper code.
Using $ContentAsset in Component Markup
To reference a specific asset file in component markup, use $ContentAsset.yourNamespace__assetName. Orgs without a namespace can use $ContentAsset.assetDeveloperName. Use this syntax regardless of whether an asset is for authenticated or unauthenticated sessions. To reference a content asset within an archive, add pathinarchive as a parameter appended to the basic syntax: $ContentAsset.yourNamespace__assetName + 'pathinarchive=images/sampleImage.jpg'.
Here are a few examples.
Aura component referencing an image in an archive asset file:
1<aura:component>
2 <img src="{!$ContentAsset.websiteImages + 'pathinarchive=images/logo.jpg'}" "alt="holiday wreath"/>
3</aura:component>Include CSS style sheets or JavaScript libraries in a component using the <ltng:require> tag.
Aura component using an asset file to style a div element:
1<aura:component>
2 <ltng:require styles="{!$ContentAsset.bookStyle}"/>
3
4 <!-- "bookName" is defined in an asset file with DeveloperName of "bookStyle" -->
5 <div id="bookTitle" class="bookName">
6 </div>
7</aura:component>Aura component displays data from a testDisplayData JavaScript asset file:
1<aura:component>
2 <ltng:require scripts="{!$ContentAsset.testDisplayData}"
3afterScriptsLoaded="{!c.displayData}"/>
4...
5
6 <aura:attribute name="TestData" type="String[]" ></aura:attribute>
7 <div>
8 <input type="text" id="sampleData" value ="{!v.TestData}" />
9 </div>
10...
11</aura:component>1({
2 displayData : function(component, event, helper) {
3 var data = _datamap.getData();
4 component.set("v.TestData", data);
5 }
6})1window._datamap = (function() {
2 var data = ["Agree", "Disagree", "Strongly Agree", "Strongly Disagree", "Not Applicable"];
3 return {
4 getData: function() {
5 return data.join(", ");
6 }
7 };
8}());