刷新页面时,动态创建的视图无法重新加载。

2020-09-04 21:01发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我要求从服务返回的x...

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

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


专家们,

我要求从服务返回的xml字符串动态生成视图,并允许将数据绑定到该视图。 我能够使用sap.ui.core.mvc.XMLView.create方法创建视图,并能够通过使用以下代码行将视图添加到路由器的目标中来进行导航:

 sap.ui.core.mvc.XMLView.create({
 定义:this.viewString,
 类型:sap.ui.core.mvc.ViewType.XML
 })。then(function(oView){
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 var oTargets = oRouter.getTargets();


 oTargets.getViews()。setView(" com.sampleapp.SampleApp.view.View2",oView);

//oTargets.display("Dynamic");
 oRouter.navTo(" DynamicView");


 }
 

现在,我可以单击view2的控制器,并且绑定也可以正常工作,但是一旦刷新页面,错误就会出现。 据我了解,这是因为当路由器尝试加载与路由模式相对应的视图时,但由于它是通过xml字符串创建的,因此它不存在于文件夹结构中。

我的问题是:可以避免这样的错误吗? 我的意思是能够在刷新时加载页面?

感谢您的帮助。

(26.9 kB)
5条回答
三十六小时_GS
2020-09-04 21:50 .采纳回答

嗨,Mahesh,我不确定是什么造成了这个问题,但是我找到了一种解决方法来完成我想要的事情。 它不是很优雅,但是暂时可以完成工作。

我所做的不是为动态创建的视图添加路由和目标,而是添加了另一个视图层:midView,然后从view1导航到midView,我只是添加了一个新的目标 动态创建的视图,并使用targets.display方法显示它。

因此没有为此特定的dymanicView创建路线,并且在midView的路线上起作用。 刷新工作正常,导航堆栈也是如此。

一周热门 更多>