0

My requirement is open the LWC page from Aura component controller. So I did all the steps which mentioned in the link How to open LWC in a new page from Record Detail Aura Component but getting an error "This page isn't available in Salesforce Lightning Experience or mobile app."

My requirement is a little bit different- Open the LWC page in the same window without any tab. I am using the below code in Aura component controller.

createProactiveLWC : function(cmp,event,helper){
   var navService = cmp.find("navService");
        // Sets the route to /lightning/o/Account/home
        var pageReference = {
            type: 'standard__component',
            attributes: {
                componentName: 'c:proactiveLWCForm'//I tried with c__proactiveLWCForm and c__c:proactiveLWCForm
            },
            state : {
                c__recordId : cmp.get('v.recordId')
            }
        };

        // Set the URL on the link or use the default if there's an error
        var defaultUrl = "#";
        navService.generateUrl(pageReference).then($A.getCallback(function(url) {

        }));
}
  • Hey Neel, can you try window.open(url,'_self'); ? – Pranay Jaiswal Jul 29 at 20:45
  • Still opening a new tab and with error This page isn't available in Salesforce Lightning Experience or mobile app. – Rachit Jul 29 at 21:03
1

URL addressable tabs are currently not supported for LWC components as documented in Unsupported Experiences and Tools

Also from Documentation:

To make an addressable Lightning web component, embed it in an Aura component that implements the lightning:isUrlAddressable interface.

So embed LWC component in Aura component and have navigation to that component - using isUrlAddressable interface.

Also, pls note that the URL parameters are accessable in LWC component directly. You need not pass them from Aura component.

import { LightningElement, track, wire } from 'lwc';
import { CurrentPageReference, NavigationMixin } from 'lightning/navigation';

export default class Poc extends NavigationMixin(LightningElement) {
    @wire(CurrentPageReference)
    setCurrentPageReference(currentPageReference) {
        this.currentPageReference = currentPageReference;
    }
    connectedCallback(){
        console.log("URL Parameters => ", this.currentPageReference.state);
    }
}

As shown above, use wire service to get the URL parameters (as state) in LWC component

  • 1
    Thanks. 'Unsupported link' is very useful. I already applied this solution. – Rachit Jul 30 at 14:30

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.