我注意到,如果我使用浏览器后退按钮或导航回页面,我的应用程序的一个特定xml视图中的某些模型绑定似乎存在问题。 我可以在网络选项卡中看到我的模型仍然可以正常加载,并且属性('tlc' - 图像的src的文本)也在那里。
但是大部分时间(不是所有的时间 - 也很奇怪)我得到404没找到,因为它似乎是空的,大多数只有List的一个元素(所有都以相同的方式加载图像.. 。):
当我最初使用此视图打开网址或刷新页面时,它工作正常。
这是我的图像列表的定义方式:
<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>
正如我所说。大多数情况下,此列表中只有一个元素受此影响。 有人知道为什么会这样吗?这真的很奇怪。
答案 0 :(得分:0)
对我而言,这是由于实施不完整造成的。
例如:
如果Page1调用GetEntitySet,则返回字段 A,B和C 。
然后导航到您调用更新的Page2或仅返回 字段 A和C 的GetEntity。
这会导致使用空值更新OData客户端缓存。
这可能不是您的问题。当我遇到这个问题时,我没有像你一样检查过OData对象。
答案 1 :(得分:0)
我修好了。问题是我在attachRequestCompleted
回调内的视图上设置模型,这导致模型不完整(不确定原因):
我改变了:
oJSONModel.attachRequestCompleted(function(oEvent) {
this.getView().setModel(oJSONModel);
}
为:
oJSONModel.attachRequestCompleted(function(oEvent) {
}
this.getView().setModel(oJSONModel);