0
我在路由時將Master
視圖的參數傳遞給Detail
視圖,但將其視爲未定義。SAPUI5:獲取參數爲undefined,從一個視圖到另一個視圖的路由傳遞
代碼從MasterController.js
onPressItemDetail: function(evt) {
var object = evt.getSource().
getBindingContext().
getModel().
getProperty(evt.getSource().getBindingContext().getPath());
var context = {
object: object,
bindingContext: evt.getSource().getBindingContext()
};
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.navTo("fourth", context);
}
從DetailController.js
onInit: function() {
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.attachRouteMatched(function(oEvent) {
if (oEvent.getParameter("name") !== "fourth") {
return;
}
var object = oEvent.getParameter("arguments").object;
var bindingContext = oEvent.getParameter("arguments").bindingContext;
}, this);
}
路由配置碼從Component.js
"routing": {
"config": {
"routerClass": "sap.m.routing.Router",
"viewType": "XML",
"viewPath": "umicoreMP.view",
"controlId": "app",
"controlAggregation": "pages"
},
"routes": [{
"pattern": "",
"name": "first",
"target": "first"
}, {
"pattern": "secondview",
"name": "second",
"target": "second"
}, {
"pattern": "thirdview",
"name": "third",
"target": "third"
}, {
"pattern": "changeitem",
"name": "fourth",
"target": "fourth"
}],
"targets": {
"first": {
"viewName": "FirstView"
},
"second": {
"viewName": "SecondView"
},
"third": {
"viewName": "ThirdView"
},
"fourth": {
"viewName": "ChangeItem"
}
}
}
這看起來特定於框架,如果你用框架的標籤標記它,或者至少鏈接到你正在使用的特定框架,這將是有用的。 – riscarrott
謝謝。線程已更改。 –