0

我有两个闪电网络组件,我必须通过单击按钮从一个 LWC 导航到另一个 LWC。 

我尝试导航服务在组件的基类中应用 NavigationMixin 函数来扩展 NavigationMixin(LightningElement)。但它没有用。

可以请任何人帮助我吗?

谢谢你。

4

4 回答 4

1

你不能(还)。

所有有趣的 PageReference 类型的列表表明您应该使用standard__component但目标不能是纯 LWC。充其量它必须隐藏在 Aura 包装内。

闪电组件。要制作可寻址的 Lightning Web 组件,请将其嵌入到实现 Lightning:isUrlAddressable接口的 Aura 组件中。

这是一种痛苦。我怀疑这也是为什么我们还不能用 LWC 快速行动的原因,它们必须被包裹在 Aura 中。

单击引用中的链接,它将引导您示例如何传递参数(/lightning/cmp/c__helloTarget?c__firstname=John

于 2019-09-18T21:26:36.890 回答
0

我有类似的问题。我一直在尝试从社区中的另一个人导航到 LWC,它看起来像:在社区中,只有 comm__namedPage 页面引用才会起作用。

于 2020-02-04T20:48:06.140 回答
0

在 LWC Application 中,我们可以通过以下两种方式之一:

1.使用容器组件

创建一个父 LWC 组件,该组件将包含两个 lwc 组件并一次显示其中一个组件。

单击按钮时,调度自定义事件以在组件之间导航。在容器组件中接收到自定义事件时,隐藏可见组件并显示另一个。

2.利用LWC路线。

有关 lwc 路线的信息,请点击以下链接。

http://lwc-router.com/#/quickstart

于 2020-12-24T06:30:17.000 回答
0

在 Salesforce LWC 应用程序中,您可以使用以下代码从一个 LWC 组件导航到另一个(位于另一个选项卡/应用程序页面上)

我的组件.html

<a href="javascript:void(0);" tabindex="0" onclick={navigateNext}>Click Here</a>

我的组件.js

    import { NavigationMixin } from 'lightning/navigation';
    import { CurrentPageReference } from 'lightning/navigation';

    export default class MyComponent extends NavigationMixin(LightningElement){

        @wire(CurrentPageReference) pageRef;

        @api tabName = "NextPage";
        navigateNext() {
            console.log("tabName = ", this.tabName)
            this[NavigationMixin.Navigate]
                ({
                    type: 'standard__navItemPage',
                    attributes: {
                        apiName: this.tabName
                    }
                });
        }
    }

请将tabName变量替换为您应该导航的 apppage/tab 名称。

而已。tabName当您单击buttonin html时,您将被导航到指定的

您还可以通过官方文档了解更多信息https ://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.use_navigate_basic

于 2020-04-26T07:34:59.650 回答