#sapui5
#sapui5
Вопрос:
Я столкнулся с проблемой маршрутизации в приложении Master Detail. Когда я нажимаю на основную запись в первый раз. Он перенаправляется на просмотр деталей. Но если я нажимаю на другую запись в главном представлении, маршрутизатор не переходит к подробному представлению..
Может ли кто-нибудь помочь мне устранить мою проблему??
Если вы видите рисунок выше, то при нажатии на первую запись соответствующие сведения загружаются в детальный просмотр. Если я нажму на вторую запись (выделена красным), моя страница сведений не запускается.
Ниже приведен код, который я пытаюсь…
Master.controller.js
onItemPress: function (oEvent) {
var contextPath = oEvent.getParameter('listItem');
var getPath = contextPath.getBindingContext("masterModel").getPath().split("/")[1];
sap.ui.getCore().selRecordData = contextPath.getBindingContext("masterModel").getModel().getData()[getPath];
this._router.navTo("detail");
},
Подробнее Controller.js
onInit: function () {
var oComponent = this.getOwnerComponent();
this._router = oComponent.getRouter();
this._router.getRoute("detail").attachPatternMatched(this._routePatternMatched, this);
},
_routePatternMatched: function () {
var detailModel = new sap.ui.model.json.JSONModel();
detailModel.setData(sap.ui.getCore().selRecordData);
this.getView().setModel(detailModel, "detailModel");
}
manifest.json
"routing": {
"config": {
"routerClass": "sap.m.routing.Router",
"viewType": "XML",
"async": true,
"viewPath": "sap.m.serviceRequestLast.view",
"controlAggregation": "pages",
"controlId": "idSplitApp",
"clearControlAggregation": false
},
"routes": [{
"pattern": "",
"name": "master",
"target": [
"detail",
"master"
]
}, {
"pattern": "detail",
"name": "detail",
"target": [
"master",
"detail"
]
}
],
"targets": {
"master": {
"viewName": "Master",
"controlAggregation": "masterPages",
"viewLevel": 1
},
"detail": {
"viewType": "XML",
"transition": "slide",
"clearAggregation": true,
"viewName": "Detail",
"controlAggregation": "detailPages",
"viewLevel": 2
}
}
}
Может кто-нибудь, пожалуйста, помочь мне разобраться с моей проблемой..
Заранее благодарю вас..
Комментарии:
1. Правильно ли получает информацию selRecordData при нажатии на второй элемент? Какое значение отображается в отладчике?
2. Да .. Данные selRecordData содержат сведения о выбранной строке …. проблема во второй раз связана с навигацией….
3. Помимо того, что это совершенно не так, как вы должны делать то, что вы хотите сделать: совпадают ли Details _routePatternMatched со вторым щелчком мыши?