sapui5 路由(无法导航到名为 xx 的路由,因为该路由不存在)

sapui5 routing (Can not navigate to route with name xx because the route does not exist)

我有4个视图,主视图是登录页面。因此,当用户使用正确的凭据单击登录按钮时,它将重定向到 main 页面。但是我收到错误消息无法导航到名称为 main 的路由,因为该路由不存在

下面是我的 manifest.json 路由配置:

    "routing": {
        "config": {
            "routerClass": "sap.m.routing.Router",
            "viewType": "XML",
            "async": true,
            "viewPath": "UI.sap_portal.view",
            "controlAggregation": "pages",
            "controlId": "app",
            "clearControlAggregation": false,
            "transition": "slide" 
        },
        "routes": [
            {
                "name": "Routemain",
                "pattern": "Routemain",
                "target": [
                    "Targetmain"
                ]
            } 
        ],
        "targets": {
            "Targetmain": {
                "viewType": "XML",
                "transition": "slide",
                "clearControlAggregation": false,
                "viewId": "login",
                "viewName": "login",
                "viewLevel": 1
            },
            "main": {
                "viewId": "main",
                "viewType": "XML",
                "viewName": "main",
                "viewLevel": 1
            },
            "masterData": {
                "viewType": "XML",
                "viewName": "masterData"
            },
            "purchasing": {
                "viewType": "XML",
                "viewName": "purchasing"
            } 
        }
    }

这是我的 login.controller.js 代码:

        var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
        oRouter.navTo("main");

如果我把这个放在我的 manifest.json

        "routes": [
            {
                "name": "Routemain",
                "pattern": "Routemain",
                "target": [
                    "Targetmain"
                ]
            },
            {
                "name": "main",
                "pattern": "",
                "target": "main"
            }

        ]

它自动重定向到我的主页,应该是登录页面。抱歉,我是 sapui5 的新手。

尝试将 main 的目标更改为: "main": { "viewType": "XML", "viewName": "main" }

您的路线名称是 Routemain。这就是你应该在 navTo 上使用的:navTo(“Routemain”)。

这将加载 Targetmain 中定义的视图。

您没有名为“main”的路由,因此出现错误。