Sapui5 调用“后在下一页获取传递的数据”;至;来自NavContainer
我正在使用SAPUI5构建一个类似Fiori的应用程序。我已经成功构建了母版页,在单击项时,我传递上下文并导航到详细信息页 母版页的上下文路径类似于Sapui5 调用“后在下一页获取传递的数据”;至;来自NavContainer,sapui5,Sapui5,我正在使用SAPUI5构建一个类似Fiori的应用程序。我已经成功构建了母版页,在单击项时,我传递上下文并导航到详细信息页 母版页的上下文路径类似于/SUPPLIER(“NAME”)。App.controlooler.js中的函数如下: handleListTempress:功能(evt){ var context=evt.getSource().getBindingContext(); this.myNavContainer.to(“细节”,上下文); // ... }, 但我想知道如何访问
/SUPPLIER(“NAME”)
。App.controlooler.js
中的函数如下:
handleListTempress:功能(evt){
var context=evt.getSource().getBindingContext();
this.myNavContainer.to(“细节”,上下文);
// ...
},
但我想知道如何访问详细信息页面中的
上下文。我之所以需要它,是因为我需要使用$expand
来构建URL并将项目绑定到表。中有一个示例,说明如何使用事件委托处理此问题,该委托用于框架自动调用的onBeforeShow
函数。我根据您的用例对其进行了调整:
this.myNavContainer.to(“细节”,上下文);//触发导航并移交数据对象
//详细信息页面的实现位置:
myDetailPage.addEventDelegate({
onBeforeShow:功能(evt){
var context=evt.data.context;
}
});
evt.data
对象包含您放入(,)
的所有数据。您可以将其登录到控制台以查看evt
对象的结构。请参阅SAP UI5演示套件中的“购物车”示例
通常,在“Component.js”中,应针对不同的视图配置路由
在意见中,必须听取路线的意见。请看下面
在Component.js中:
routes: [
{ pattern: "cart",
name: "cart",
view: "Cart",
targetAggregation: "masterPages"
}
]
在Cart.controller.js中,必须监听路由。在本例中,cart是一个细节
onInit : function () {
this._router = sap.ui.core.UIComponent.getRouterFor(this);
this._router.attachRoutePatternMatched(this._routePatternMatched, this);
},
_routePatternMatched : function(oEvent) {
if (oEvent.getParameter("name") === "cart") {
//set selection of list back
var oEntryList = this.getView().byId("entryList");
oEntryList.removeSelections();
}
}
希望这能有所帮助。建议使用路由器,但这并不能解决问题。