I'm trying to dynamically insert data into a component. I'm not sure if I'm using component.set
correctly?
Here's what I have
afterRender: function (component, helper) {
this.superAfterRender();
var cmp = component;
helper.load('data.json', function(xhr) {
var result = JSON.parse(xhr.responseText);
var container = cmp.get("v.container1");
for(var i=0; i < result.length; i++) {
container.push('<div><a href=' + result[i].link + ' target="_blank">— ' + result[i].title + '</a>' + result[i].excerpt + '</div>');
}
cmp.set("v.container1", container);
});
}
Markup for my component is :
<div class="container">
<div class="slds-grid slds-wrap">
<div class="slds-size_2-of-3 blog-feed">
<div class="box">{!v.container1}</div>
</div>
<div class="slds-size_1-of-3 featured">
<div class="box">{!v.container2}</div>
</div>
<div class="slds-size_1-of-2 item-list">
<div class="box">{!v.container3}</div>
</div>
<div class="slds-size_1-of-2 item-list">
<div class="box">{!v.container4}</div>
</div>
</div>
</div>
c:ResultDiv
component and assign it a result object and let it render it's data via standard lightning binding. That way you can just add a bunch ofc:ResultDiv
components in the usual dynamic comonent way.