Sapui5 如何将JSON对象从一个控制器传递到另一个控制器(/view-to-view)?

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

我想将一个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.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视图中使用此模型?可能重复