Sapui5 如何获取视图的数据
我正在使用SAPUI5,我有一个母版页和一个详细页,在母版页中我有一个列表,当我在列表中选择de项时,信息显示在详细页中 在DetailPage中,我有一个PositiveAction,当我按下PositiveAction时,我需要获取DetailPage的数据,但我不知道怎么做 按项目的我的代码Sapui5 如何获取视图的数据,sapui5,Sapui5,我正在使用SAPUI5,我有一个母版页和一个详细页,在母版页中我有一个列表,当我在列表中选择de项时,信息显示在详细页中 在DetailPage中,我有一个PositiveAction,当我按下PositiveAction时,我需要获取DetailPage的数据,但我不知道怎么做 按项目的我的代码 onPoSelect : function(oEvent) { var oListItem = oEvent.getParameter('listItem'); var
onPoSelect : function(oEvent) {
var oListItem = oEvent.getParameter('listItem');
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.navTo("DetailPanel", {
invoicePath: oListItem.getBindingContext("solped").getPath().substr(1)
});
},
详细信息面板中的我的代码
onInit: function (){
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.getRoute("DetailPanel").attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (oEvent) {
this.getView().bindElement({
path: "/" + oEvent.getParameter("arguments").invoicePath,
model: "solped"
});
},
行“oEvent.getParameter(“arguments”).invoicePath,”
退回这个
发票(CustomerName='Alfreds Futterkiste',折扣=0f,订单ID=10702,产品ID=3,产品名称='茴香糖浆',数量=6,销售人员='Margaret Peacko',ShipperName='Speedy Express',单价=10.0000M)
我有信息,但它是一个字符串,我如何在对象中转换这个字符串?或者,我如何访问视图中的信息
视图的图像
有关将字符串转换为对象的信息,请参见下面的示例 var a=“how r u” VarB=[a]
您将在b中获得a的对象。您可以通过将绑定路径作为参数传递给基础数据模型的getProperty函数,将所有属性作为对象来获得
var oModel = this.getView().getModel("solped");
var oProps = oModel.getProperty(oListItem.getBindingContext("solped").getPath());
然后,您可以按以下方式访问这些属性:
oProps.CustomerName;
oProps.OrderID;
...
我假设您已经可以在详细视图中看到详细信息的数据。 您将数据绑定到view by bindElement函数,并在寻找“getBindingContext”函数的代码中检索它们 在详图控制器中创建以下功能:
// this must be connected to Button -> <Button press="onPositivePress">
onPositivePress: function(oEvent) {
var oBindingContext = this.getView().getBindingContext("solped");
// this is the path you can use to call odata service
var sPath = oBindingContext.getPath();
// this is data you are looking for
var oReqData = oBindingContext.getObject();
}
//这必须连接到按钮->
onPositivePress:函数(oEvent){
var oBindingContext=this.getView().getBindingContext(“solped”);
//这是您可以用来调用odata服务的路径
var sPath=oBindingContext.getPath();
//这是您正在查找的数据
var oReqData=oBindingContext.getObject();
}