This is related to this question: Navigation in Desktop Lightning Experience not Destroying Components

My components are listening to the force:refreshView event, but since the components are cached after navigation according to the question I linked, they still fire even when they are no longer on the page. This causes errors to show up.

I can't destroy them because then they do not reappear when using the back button to go to the previous page that used to contain my components.

Is there a way that I can detect if my components are currently being displayed on the page that fired the force:refreshView event?

UPDATE: As an intermediate solution, I'm checking window.location.path to see if it contains the name of the SObjectType these components can appear on before executing any other logic.

var path = window.location.pathname;
var isOpportunityPage = path.includes('/Opportunity');

    // Do stuff here

This doesn't feel right at all, but it's something at least.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.