Маршрутизатор Sapui5 не работает во второй раз в приложении Master Detail

#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 со вторым щелчком мыши?