我的rest客户端如下:
com.sap.lm.sl.slp.Proxy.prototype.loadAttributes = function(oInput) {
com.sap.lm.sl.slp.ajax.checks.assertString(oInput.id);
oInput.url = '{0}/service/attributes/id/{1}'.format(this.baseUrl, oInput.sid);
oInput.adapter = function(oResponse, oInput) {
return oResponse;
};
return com.sap.lm.sl.slp.ajax.GET(oInput);
};控制器如下:
_appendAdditionalDetails: function() {
var that = this;
window.ctx.Client.loadAttributes ({
sid: that.getid(),
success: function(additional) {如何从get获取值到控制器。如何在SAP UI5中声明模型
发布于 2017-04-23 15:09:54
根据响应的格式,您可以选择使用JSONModel或XMLModel。如果数据既不是XML格式,也不是JSON格式,那么您应该尝试将其转换为其中一种格式。
在控制器的onInit方法中,您应该实例化适当的模型并将其注册到视图中。示例:
onInit: function() {
// the second parameter is the model name / alias
this.getView().setModel(new JSONModel(), "myModel");
}在调用REST端点的控制器方法中,您应该获取在onInit方法中声明的模型,然后更新其数据(通过完全覆盖现有数据或修改它;这取决于您需要什么)。
_appendAdditionalDetails: function() {
var oModel = this.getView().getModel("myModel");
window.ctx.Client.loadAttributes ({
sid: this.getid(),
success: function(additional) {
oModel.setData(additional);
}
}
}如果需要完全替换现有数据,请使用setData方法。否则,使用setProperty方法(并将数据写入模型的某个子树中)。
https://stackoverflow.com/questions/41720213
复制相似问题