odata创建反向导航不起作用

2020-09-06 08:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

使用odata和导航创建项目时出现一些奇怪的错误-也许任何人都可以帮助我。

我有两个观点。

1。 Worklist.view.xml->显示项目

2。 Object.view.xml->显示项目的详细信息

在Worklist.view.xml上,我创建一个项目,然后导航到Object.view.xml

 oDataModel.create("/img/LOPSet",{
 IdKunnr:lvIdKunnr
 },{
 方法:" POST",
 成功:功能(数据){
 var sNewId = data.Id;
 that.getRouter()。navTo(" object",{
 objectId:sNewId
 },是对的);
 },
 错误:功能(响应){MessageToast.show(" Fehler");}
 });
 

导航到对象列表可以正常工作。 但是,如果我想返回工作列表视图,则会收到错误消息。

用于导航的代码为:

 onPressCancel:函数(oEvent){
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.navTo(" worklist");
 },
 

错误是:

有人知道我该怎么做吗?

奇怪的是。 当我执行以下操作时-可以正常工作:

-首先选择一个项目(处于编辑模式)

-导航回到工作清单

-创建一个新项目

-现在导航回到工作列表=>正常

最好的问候
Uwe

(17.2 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好,

使用odata和导航创建项目时出现一些奇怪的错误-也许任何人都可以帮助我。

我有两个观点。

1。 Worklist.view.xml->显示项目

2。 Object.view.xml->显示项目的详细信息

在Worklist.view.xml上,我创建一个项目,然后导航到Object.view.xml

 oDataModel.create("/img/LOPSet",{
 IdKunnr:lvIdKunnr
 },{
 方法:" POST",
 成功:功能(数据){
 var sNewId = data.Id;
 that.getRouter()。navTo(" object",{
 objectId:sNewId
 },是对的);
 },
 错误:功能(响应){MessageToast.show(" Fehler");}
 });
 

导航到对象列表可以正常工作。 但是,如果我想返回工作列表视图,则会收到错误消息。

用于导航的代码为:

 onPressCancel:函数(oEvent){
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.navTo(" worklist");
 },
 

错误是:

有人知道我该怎么做吗?

奇怪的是。 当我执行以下操作时-可以正常工作:

-首先选择一个项目(处于编辑模式)

-导航回到工作清单

-创建一个新项目

-现在导航回到工作列表=>正常

最好的问候
Uwe

(17.2 kB)
付费偷看设置
发送
2条回答
梦想连接
1楼-- · 2020-09-06 08:50

您好 Uwe Isenmann

好像您已将事件附加到按钮上

-根据您在"问题"中的描述,您选择一个项目并导航到它起作用的工作清单,这时您应该使用代码..,并且控件(id)不可用。

-

您必须已经在进行调试,但建议在路由方法上保留断点并尝试调试。

OR

您可以检查下面的简单代码,这些代码可以导航到单击按钮时查看。

 handleBack:函数(oEvent){
 this.oRouter.navTo("工作清单",{},true);
 },
 

希望这会有所帮助。

谢谢-

Abhishek

huskylover
2楼-- · 2020-09-06 09:01
 

你好Abhishek,

谢谢。 我尝试编码时遇到了相同的错误。

我用来创建新项目的sap.m.dialog框似乎有问题。

过程如下:

  1. 用户使用sap.m.dialog框创建一个新项目。 ->确定
  2. 编码会导航到"对象"页面->确定
  3. 用户按下按钮即可导航回到"工作列表"页面
  4. 我认为导航会很好-问题可能在于呈现"工作列表"页面
 ResizeHandler-dbg.js:109未捕获(已承诺)TypeError:无法读取null的属性" id"
     在builder.R.attachListener(ResizeHandler-dbg.js:109)处
     在Function.R.register(ResizeHandler-dbg.js:231)
     在f.c._handleResize(Bar-dbg.js:218)
     在f.c.onAfterRendering(Bar-dbg.js:128)
     在f.b._handleEvent(Element-dbg.js:259)
     在Q(RenderManager-dbg.js:850)
     在T(RenderManager-dbg.js:895)
     在Object.R.flush(RenderManager-dbg.js:944)
     在f.b._backTo(NavContainer-dbg.js:1059)
     在f.b.backToPage(NavContainer-dbg.js:880)
 

有一个对象引用为null。 但是我不知道如何找到它的创建方式。

我认为我对对话框没什么不好的。 只能打开和关闭。

打开:

 var oCreateLOPDialog = this.byId(" CreateLOPDialog");
//oCreateSalesOrderDialog.setBindingContext(oContext);
 oCreateLOPDialog.open();
 返回;
 

关闭:

 this.byId(" CreateLOPDialog")。close(); 

BR
Uwe

一周热门 更多>