等效于非 Item 控件的 getBindingContextPath
Equivalent for `getBindingContextPath` for non Item controls
我的应用程序有问题。我希望我的编辑按钮将我发送到一个新页面(“ModificationPage”)中,我可以在其中修改我的信息,但它需要我的“OT”的编号,以便我可以检索我在“DetailPage”上已有的信息。
这个数字其实在我的URL的末尾(因为我们是根据它导航到详情页的)但是我不知道怎么取,因为getBindingContextPath
不起作用一个按钮。
详细页面:
修改页面:
DetailPage.view.xml :
<mvc:View controllerName="com.gima.zmaintenanceot.controller.DetailPage"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<Page id="detailPage"
title="Détails de l'OT : {maintenanceOT>OrderNumber}"
showNavButton="true"
navButtonPress="onNavBack"
showFooter="true"
showHeader="true">
<headerContent>
<OverflowToolbar>
<ToolbarSeparator/>
<Button icon="sap-icon://edit" press=".onNavToModif"/>
</OverflowToolbar>
</headerContent>
<!-- ... -->
</Page>
<mvc:View>
DetailPage.controller.js
onNavToModif: function (oEvent) {
var sPath = oEvent.getSource().getBindingContextPath() + "/OrderNumber";
var sOrderNumber = this.getModel("maintenanceOT").getProperty(sPath);
this.navTo("modif", {
OrderNumber: sOrderNumber
});
},
manifest.json
"routes": [
{
"pattern": "modif/{OrderNumber}",
"name": "modif",
"target": "modif"
}
],
"targets": {
"modif": {
"viewPath": "com.gima.zmaintenanceot.view",
"viewName": "ModificationPage",
"viewLevel": 3
}
}
路径使用getBindingContext
to access the bound context, then call getPath
。例如:
onNavToModif: function(oEvent) {
const oContext = oEvent.getSource().getBindingContext(/*modelName*/);
const sPath = oContext.getPath("OrderNumber");
// ...
},
API getPath
还等待一个可选的后缀 will be appended to the return value.
getBindingContextPath
is protected
的可见度。 不要在应用程序开发中使用它。
我的应用程序有问题。我希望我的编辑按钮将我发送到一个新页面(“ModificationPage”)中,我可以在其中修改我的信息,但它需要我的“OT”的编号,以便我可以检索我在“DetailPage”上已有的信息。
这个数字其实在我的URL的末尾(因为我们是根据它导航到详情页的)但是我不知道怎么取,因为getBindingContextPath
不起作用一个按钮。
详细页面:
修改页面:
DetailPage.view.xml :
<mvc:View controllerName="com.gima.zmaintenanceot.controller.DetailPage"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<Page id="detailPage"
title="Détails de l'OT : {maintenanceOT>OrderNumber}"
showNavButton="true"
navButtonPress="onNavBack"
showFooter="true"
showHeader="true">
<headerContent>
<OverflowToolbar>
<ToolbarSeparator/>
<Button icon="sap-icon://edit" press=".onNavToModif"/>
</OverflowToolbar>
</headerContent>
<!-- ... -->
</Page>
<mvc:View>
DetailPage.controller.js
onNavToModif: function (oEvent) {
var sPath = oEvent.getSource().getBindingContextPath() + "/OrderNumber";
var sOrderNumber = this.getModel("maintenanceOT").getProperty(sPath);
this.navTo("modif", {
OrderNumber: sOrderNumber
});
},
manifest.json
"routes": [
{
"pattern": "modif/{OrderNumber}",
"name": "modif",
"target": "modif"
}
],
"targets": {
"modif": {
"viewPath": "com.gima.zmaintenanceot.view",
"viewName": "ModificationPage",
"viewLevel": 3
}
}
路径使用getBindingContext
to access the bound context, then call getPath
。例如:
onNavToModif: function(oEvent) {
const oContext = oEvent.getSource().getBindingContext(/*modelName*/);
const sPath = oContext.getPath("OrderNumber");
// ...
},
API getPath
还等待一个可选的后缀 will be appended to the return value.
getBindingContextPath
is protected
的可见度。 不要在应用程序开发中使用它。