今天我遇到了一个奇怪的问题(可能是一个愚蠢的问题),当导航到第二个视图时显示来自OData模型的数据列表和底部的面板
我已将代码复制到此link
- http://plnkr.co/edit/ClZqvo?p=info
(您也可以通过RUN在顶部运行它) - 请在chrome中运行它并禁用安全性(由于CORS问题)< / p>
现在问题是当我导航到第二个视图(OData表)然后选择任何列表项时,您将在底部看到,Panel将反映所选项(因为我使用了BindElement方法来绑定路径)。在此之后我点击回来然后再次出现我的第一个视图(JSON表)我单击Next Button然后再次出现第二个视图。当我选择之前选择的相同项目时,此时Panel将不会显示所选项目。只有当我来回导航并选择相同的项目时才会出现此问题。无法理解是什么造成的?
但如果我选择任何其他项目,它会显示所选项目。
有人对此有任何想法吗?
〜拉胡
答案 0 :(得分:0)
使用bindElement
时这是常见问题,我也遇到过这个问题。它可能无法解析引用实体的上下文。因此,字段不会绑定相应的值。
作为替代方案,您可以使用setBindingContext
绑定面板中的字段。
由于您使用的是命名模型,因此应将其指定为setBindingContext
的参数。
所以你的代码就像
onSelect: function(oEvent) {
var oContext = oEvent.getSource().getBindingContext("odataModel");
var oProductDetailPanel = this.getView().byId("prodDetailsPanel");
oProductDetailPanel.setBindingContext(oContext, "odataModel");
}