【发布时间】:2016-11-07 06:43:18
【问题描述】:
我正在尝试通过路由作为此链接中的步骤 32 传递参数,(https://sapui5.netweaver.ondemand.com/docs/guide/2366345a94f64ec1a80f9d9ce50a59ef.html) 但它不起作用,我不知道我做错了什么:
列表控制器
onPressItemDetail: function(evt) {
var oSource = evt.getSource();
var oBind = oSource.getBindingContext();
var sPath = oBind.getPath();
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
oRouter.navTo("changeitem", { path : sPath});
},
Manifest.json
"routes": [{
"pattern": "",
"name": "first",
"target": "first"
}, {
"pattern": "secondview",
"name": "second",
"target": "second"
}, {
"pattern": "checkout",
"name": "checkout",
"target": "checkout"
}, {
"name": "changeitem/{path}",
"pattern": "changeitem",
"target": "changeitem"
}],
更改项目控制器
onInit: function() {
var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
var rChangeItem = oRouter.getRoute("changeitem");
rChangeItem.attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function (evt) {
this.getView().bindElement({
path: "/" + evt.getParameter("arguments").path,
model: "item"
});
},
显示的错误是:Can not navigate to route with name changeitem because the route does not exist..
【问题讨论】: