Sapui5 返回浏览器后,视图中的属性丢失
我注意到,如果使用浏览器后退按钮或导航回页面,应用程序的某个特定xml视图中的某些模型绑定似乎存在问题。 我可以在“网络”选项卡中看到,我的模型仍然加载良好,并且属性(“tlc”-图像的src文本)也在那里 但大多数情况下(并非所有时间-也很奇怪),我都会得到一个404未找到,因为它似乎对于列表中的大部分元素都是空的(所有元素都以相同的方式加载图像…): 当我最初使用此视图打开url或刷新页面时,它工作正常 以下是我的图像列表的定义:Sapui5 返回浏览器后,视图中的属性丢失,sapui5,Sapui5,我注意到,如果使用浏览器后退按钮或导航回页面,应用程序的某个特定xml视图中的某些模型绑定似乎存在问题。 我可以在“网络”选项卡中看到,我的模型仍然加载良好,并且属性(“tlc”-图像的src文本)也在那里 但大多数情况下(并非所有时间-也很奇怪),我都会得到一个404未找到,因为它似乎对于列表中的大部分元素都是空的(所有元素都以相同的方式加载图像…): 当我最初使用此视图打开url或刷新页面时,它工作正常 以下是我的图像列表的定义: <List id="startListUpcomi
<List id="startListUpcoming" class="upcomingList sapUiSmallMarginTop" showNoData="false" items="{
path: 'startlist>/startlistElements',
filters: [
{
path: 'competitors/0/isMarked',
operator: 'EQ',
value1: false
}
]
}">
<items>
<CustomListItem type="Active" press="onClickStarter">
<HBox>
<VBox class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom">
<Image src="/img/flags/{startlist>competitors/0/athlete/nation/tlc}.png" error="onFlagError" width="50px" height="50px" />
<Label text="{startlist>time}"/>
</VBox>
<VBox class="sapUiSmallMarginBegin sapUiSmallMarginTopBottom">
<Link text="{startlist>competitors/0/athlete/firstName} {startlist>startlist>competitors/0/athlete/familyName}" press="onClickRiderName"/>
<Label text="{startlist>competitors/0/horse/name}"/>
</VBox>
</HBox>
</CustomListItem>
</items>
</List>
正如我所说。大多数情况下,此列表中只有一个元素受此影响。。
有人知道为什么会这样吗?这是一个非常奇怪的问题。对我来说,这是由不完整的实现造成的 例如: 如果Page1调用GetEntitySet,其中返回字段A、B和C 然后导航到第2页,在那里调用Update或GetEntity,其中只返回字段a和C 这会导致OData客户端缓存更新为空值
这可能不是你的问题。当我遇到这个问题时,我没有像你一样检查过OData对象。我已经修复了它。问题是我在
attachRequestCompleted
回调中的视图上设置了模型,这导致了模型不完整(不确定原因):
我改变了:
oJSONModel.attachRequestCompleted(function(oEvent) {
this.getView().setModel(oJSONModel);
}
致:
我使用纯JSON作为模型,而不是调用
GetEntitySet
。仍将检查是否可以以某种方式调试客户端缓存。谢谢你的回答
oJSONModel.attachRequestCompleted(function(oEvent) {
}
this.getView().setModel(oJSONModel);