Я хочу перемещаться в моем приложении и выполнять перекрестную навигацию.
В моем файле 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}});