SAPUI5 маршрутизация и кросс-навигация - PullRequest
0 голосов
/ 24 мая 2018

Я хочу перемещаться в моем приложении и выполнять перекрестную навигацию.

В моем файле manifest.json у меня есть "routerClass": "sap.m.routing.Router", когда я определяю этот класс,моя внутренняя навигация работает нормально, но перекрестная навигация между приложениями больше не работает (изменение URL-адреса, но навигация не произошла - я должен обновить страницу, чтобы перейти на нужную страницу).

если я изменю этот класс,Кнопка возврата всегда ведет к первой странице, а не к последней посещенной странице, но перекрестная навигация работает нормально.

Не могли бы вы мне помочь?

Вот мой код:

Manifest.json

        "routing": {
            "config": {
                "routerClass": "sap.m.routing.Router",
                "viewType": "XML",
                "viewPath": "JoskinEngineItem.view",
                "controlId": "app",
                "controlAggregation": "pages",
                "transition": "slide",
                "fullWidth": true,
                "clearTarget": false,
                "clearAggregation": false
            },
            "routes": [
                {
                    "pattern": "",
                    "name": "index",
                    "target": "index"
                },
                {
                    "pattern": "indexlevel/{key}",
                    "name": "indexlevel",
                    "target": "indexlevel"
                },
                {
                    "pattern": "search/{key}",
                    "name": "search",
                    "target": "search"
                },
                {
                    "pattern": "class/{key}",
                    "name": "class",
                    "target": "class"
                },
                {
                    "pattern": "production/{key}",
                    "name": "production",
                    "target": "production"
                }
            ],
            "targets": {
                "index": {
                    "viewName": "Index",
                    "viewId": "index",
                    "viewLevel": 1
                },
                "indexlevel": {
                    "viewName": "indexlevel",
                    "viewId": "indexlevel",
                    "viewLevel": 2
                },
                "search": {
                    "viewName": "Search",
                    "viewId": "search",
                    "viewLevel": 5,
                    "transition": "flip"
                },
                "class": {
                    "viewName": "Class",
                    "viewId": "class",
                    "viewLevel": 3
                },
                "production": {
                    "viewName": "Production",
                    "viewId": "production",
                    "viewLevel": 4
                }
            }
        },

Перекрестная навигация по приложениям

    var oCrossAppNavigator = sap.ushell.Container.getService("CrossApplicationNavigation");

    var hash = (oCrossAppNavigator && oCrossAppNavigator.hrefForExternal({
    target: {
    semanticObject: "Link",
    action: "Display"
    }
    })) || "";
    oCrossAppNavigator.toExternal({target: {shellHash: hash}});
...