我在导航到该视图后尝试将模型设置为onBeforeShow挂钩中的视图(使用路由器)。
以下是我的相关视图代码部分:
<Table items="{path:'model>/'}">
<columns>
<!-- columns definition here -->
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{model>property1}"/>
<Text text="{model>property2}"/>
<Text text="{model>property3}"/>
<Text text="{model>property4}"/>
<Text text="{model>property5}"/>
</cells>
</ColumnListItem>
</items>
</Table>
然后,在onBeforeShow上:
var oData = sap.ui.getCore().getModel("modelSource");
this.getView().setModel(oData, "model");
"modelSource"
在上一个视图中定义。
执行模型设置行时,出现以下错误:
TypeError:e.bindList不是函数
这是我的onBeforeShow钩子定义(归功于this post):
onInit: function() {
this.getView().addEventDelegate({
onBeforeShow : jQuery.proxy(function(evt) {
this.onBeforeShow(evt);
}, this)
});
},
如何解决问题?
感谢。
答案 0 :(得分:0)
我没有正确定义modelSource
模型:
sap.ui.getCore().setModel(oData, "modelSource");
正确定义:
sap.ui.getCore().setModel(new sap.ui.model.json.JSONModel(oData), "modelSource");
修正了错误。