Sapui5 如何将JSON对象从一个控制器传递到另一个控制器(/view-to-view)?
我想将一个JSON对象从一个控制器传递到另一个控制器。我该怎么做 或者我可以将oModel传递给另一个视图吗?如果是,我该怎么做Sapui5 如何将JSON对象从一个控制器传递到另一个控制器(/view-to-view)?,sapui5,Sapui5,我想将一个JSON对象从一个控制器传递到另一个控制器。我该怎么做 或者我可以将oModel传递给另一个视图吗?如果是,我该怎么做 如果您将数据存储在全局模型中,请感谢: var oData = <your JSON data>; var oModel = new sap.ui.model.json.JSONModel(oData); sap.ui.getCore().setModel(oModel); var-oData=; var oModel=new sap.ui.model
如果您将数据存储在全局模型中,请感谢:
var oData = <your JSON data>;
var oModel = new sap.ui.model.json.JSONModel(oData);
sap.ui.getCore().setModel(oModel);
var-oData=;
var oModel=new sap.ui.model.json.JSONModel(oData);
sap.ui.getCore().setModel(oModel);
然后可以从应用程序上下文中的任何其他控制器/视图访问它一个解决方案是您使用的。基本上,您可以使用and将任何对象从一个控制器传递到另一个控制器,包括JSONModel。添加到Qualiture的答案中: 如果您想将特定模型附加到特定视图(您的问题听起来有点像),您可以执行以下操作:
view.setModel(oModel);
干杯
是的,您可以通过导航将字符串、对象和数组从一个视图传递到另一个视图
enter code here
enter code here for controller
handleLinkPress: function(oEvent) {
try {
var array = [];
var obj = {
"Delivery": "80000095",
"DelvNo": "80000095",
"Date": "2018-01-04T00:00:00.000Z",
"Priority": "00",
"LoadDate": "2018-01-04T00:00:00.000Z",
"PickDate": "2018-01-04T00:00:00.000Z",
"ShippingPoint": "0001",
"Route": "",
"LoadingPoint": "01",
"ShipTo": "CUSTOMER",
"SoldTo": "CUSTOMER"
};
array.push(obj);
if (obj !== null) {
sap.ui.core.UIComponent.getRouterFor(this).navTo("Route", {
RouteData: JSON.stringify(array)
});
}
} catch (e) {
console.error("Error : " + e.message);
sap.m.MessageBox.show(e.message, {
icon: sap.m.MessageBox.Icon.ERROR,
title: "Error",
actions: [sap.m.MessageBox.Action.OK],
defaultAction: sap.m.MessageBox.Action.OK,
styleClass: "sapUiSizeCompact",
contentWidth: "150px"
});
}
}
Code for manifest.json
{
"pattern": "Route/{RouteData}",
"name": "Route",
"targetControl": "masterView",
"viewId": "Route",
"viewName": "Route"
}
code for the controller where you get that Array which you want pass
handleCloseRoutePress: function(oEv)
{
var sRouteData=JSON.parse(oEv.getParameter("arguments").RouteData);
}
我们如何在xml视图中使用此模型?可能重复