在测试随1.18.5 SAPUI5 SDK提供的SplitApp演示应用程序时,路由和模型绑定之间似乎存在冲突。如果导航到详细信息页面然后刷新浏览器窗口,则数据绑定将失败。这与在特定视图上为应用添加书签的方式相同。
只是想知道是否有人知道这是为什么?它与路由和数据绑定有冲突吗?我的调试没有显示任何内容,只是在加载详细信息视图时模型为空。
此应用使用新的基于组件的路由器,您可以在组件元数据中定义路由。
我还在这里编写了一个小型测试应用程序js1972/test · GitHub (branch "routes"),它做的类似且有同样的问题。
答案 0 :(得分:0)
以下书签适用于虚假服务 ../测试路线/#/细节/分类(2)
../测试路由/#/细节/分类(3) 犯规
在ODataModelFakeService.js中的request.onSend并不适合所有场景
替代方案可能是使用sap.ui.core.util.MockServer,其中包含用于类别和产品实体的cutdown metadata.xml和json文件
答案 1 :(得分:0)
我遇到了同样的问题,只想分享我的发现和解决方案:
详细信息视图将一直等到主视图中的列表加载完毕。如果您使用的服务很慢,则列表已经finsihed加载,但模型尚未完成加载,因此详细信息视图返回错误。 为了解决这个问题,我在模型中附加了一个“requestCompleted”事件,并为模型创建了一个jQuery.Deferred对象。 然后主人等待模型的决心。
oModel.attachEvent("requestCompleted",
function() {
this.oModelFinishedDeferred.resolve();
this.getEventBus().publish("Model",
"ModelFinished");}
, this);