首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将"force:navigateToURL“替换为lightning:navigateToSObject

无法将"force:navigateToURL“替换为lightning:navigateToSObject
EN

Stack Overflow用户
提问于 2019-01-10 10:12:33
回答 1查看 3K关注 0票数 0

我们目前正在尝试用另一个“未来证明”的代码来替换现有的工作代码。

基本上,我们有一个独立的应用程序,每当用户单击lightning组件中的按钮时都会调用它。

一个新的窗口打开了,独立的应用程序加载正常。

以下是打开应用程序的代码快照:

代码语言:javascript
复制
var urlEvent = $A.get("e.force:navigateToURL");
urlEvent.setParams({
   "url": '/c/myApp.app?recId=' + component.get('v.recordId') + 
          '&Rows=' + component.get('v.Rows') + '&Bytes=' + 
           component.get('v.Bytes')
});
urlEvent.fire();

应用程序(名为myApp)被调用,我们有几个变量被传递给它。

我们尝试使用新的lightning:导航组件,但它不起作用。

其目标是尝试构建一个pageReference,或者直接解析/创建一个URL。如果Salesforce在未来更改URL格式,这可以通过避免中断导航来帮助我们。

我们遇到的第一个问题是,可用的pageReference类型(这是必需的)是:

·Lightning组件(必须实现lightning:isUrlAddressable)·知识文章·命名页面·导航项目页面·对象页面·记录页面·记录关系页面

没有对App的引用。

文档声明:“这些导航资源仅在Lightning Experience和Salesforce移动应用程序中受支持。它们在其他容器中不受支持,例如Lightning Components for Visualforce、Lightning Out或Communities。即使您在Lightning Experience或Salesforce移动应用程序中访问这些容器也是如此。”

既然应用程序是自己运行的(不是在Lightning Experience或Salesforce1中),我说我们目前的解决方案是唯一可能的方式吗?

如果不是,还有什么其他方法可以让我们不用担心Salesforce端未来的URL更改?

EN

回答 1

Stack Overflow用户

发布于 2019-05-05 05:20:01

一种替代方案是使用从lwc到aura组件的事件通信,保持aura组件作为来自lwc的父组件,触发具有所需url和查询参数的事件,并使用document.addEventListener和触发forcenavigatetoURL或sObject收听aura中的事件。将来,如果他们支持,我们可以在一个地方进行更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54121067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档