我有两个闪电网络组件,我必须通过单击按钮从一个 LWC 导航到另一个 LWC。
我尝试导航服务在组件的基类中应用 NavigationMixin 函数来扩展 NavigationMixin(LightningElement)。但它没有用。
可以请任何人帮助我吗?
谢谢你。
我有两个闪电网络组件,我必须通过单击按钮从一个 LWC 导航到另一个 LWC。
我尝试导航服务在组件的基类中应用 NavigationMixin 函数来扩展 NavigationMixin(LightningElement)。但它没有用。
可以请任何人帮助我吗?
谢谢你。
你不能(还)。
所有有趣的 PageReference 类型的列表表明您应该使用standard__component
但目标不能是纯 LWC。充其量它必须隐藏在 Aura 包装内。
闪电组件。要制作可寻址的 Lightning Web 组件,请将其嵌入到实现 Lightning:isUrlAddressable接口的 Aura 组件中。
这是一种痛苦。我怀疑这也是为什么我们还不能用 LWC 快速行动的原因,它们必须被包裹在 Aura 中。
单击引用中的链接,它将引导您示例如何传递参数(/lightning/cmp/c__helloTarget?c__firstname=John
)
我有类似的问题。我一直在尝试从社区中的另一个人导航到 LWC,它看起来像:在社区中,只有 comm__namedPage 页面引用才会起作用。
在 LWC Application 中,我们可以通过以下两种方式之一:
1.使用容器组件
创建一个父 LWC 组件,该组件将包含两个 lwc 组件并一次显示其中一个组件。
单击按钮时,调度自定义事件以在组件之间导航。在容器组件中接收到自定义事件时,隐藏可见组件并显示另一个。
2.利用LWC路线。
有关 lwc 路线的信息,请点击以下链接。
在 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
当您单击button
in html时,您将被导航到指定的
您还可以通过官方文档了解更多信息:https ://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.use_navigate_basic