I'm using one custom lightning component to replace emailauthor.jsp for lightning experience. I'm using force:navigateToComponent event to redirect from custom object lightning page to send email lightning component. Also to return to custom object page I'm using force:navigateToSObject event. What I've noticed when using debugger in Chrome is that once created send email lightning component is never destroyed after going back to custom object lightning page. Is this something that is missing in implementation or should I destroy it explicitly. Could this result in memory leak. Also DOM of the component is still there.
Navigate to component:
btnSendEventReport: function(component, event, helper) {
var self = this;
var record = component.get('v.record');
var action = component.get('c.getEmailAttributes');
var withTeamMembers = confirm('Would you like to send this to the Client Team?');
action.setParams({
recordId: record.Id,
clientId: record.Relate_to_Client__c,
withTeamMembers: withTeamMembers
});
action.setCallback(self, function(result) {
var navigateToComponent = $A.get("e.force:navigateToComponent");
navigateToComponent.setParams({
componentDef: "c:SendEmail",
componentAttributes: result.getReturnValue()
});
navigateToComponent.fire();
});
$A.enqueueAction(action);
},
Returning to custom object Lightning page:
navigateToRecord : function(component) {
var objectId = component.get("v.objectId");
var navigateToSObject = $A.get("e.force:navigateToSObject");
if (navigateToSObject) {
navigateToSObject.setParams({
recordId: objectId
});
navigateToSObject.fire();
}
},