SAPUI5将单个主服务器路由到多个详细信息

时间:2015-03-09 17:39:48

标签: sapui5

我正在尝试从主视图导航到多个详细信息视图。 但是我不知道它在component.js中是怎么做的,所有的样本都是简单的细节视图。我可以导航到所有视图,但我无法从odata获得绑定,只能正确路由工作中的最后一个详细信息视图。

component.js代码:

    routing : {
        config : {
            routerClass : ZPPS.MyRouter,
            viewType : "XML",
            viewPath : "ZPPS.view",
            targetAggregation : "detailPages",
            clearTarget : false
        },
        routes : [
            {
                pattern : "",
                name : "main",
                view : "Master",
                targetAggregation : "masterPages",
                targetControl : "idAppControl",
                subroutes : [
                    {
                        pattern : "{entity}/:tab:",
                        name : "detail",
                        view : "Detail"
                    }
                ]
            },
            {
                pattern : "",
                name : "main",
                view : "Master",
                targetAggregation : "masterPages",
                targetControl : "idAppControl",
                subroutes : [
                    {
                        pattern : "{entity}/:tab:",
                        name : "placeDetail",
                        view : "PlaceDetail"
                    }
                ]
            },
            {
                pattern : "",
                name : "main",
                view : "Master",
                targetAggregation : "masterPages",
                targetControl : "idAppControl",
                subroutes : [
                    {
                        pattern : "{entity}/:tab:",
                        name : "vehicleDetail",
                        view : "VehicleDetail"
                    }
                ]
            },
            {
                name : "catchallMaster",
                view : "Master",
                targetAggregation : "masterPages",
                targetControl : "idAppControl",
                subroutes : [
                    {
                        pattern : ":all*:",
                        name : "catchallDetail",
                        view : "NotFound",
                        transition : "show"
                    }
                ]
            }
        ]
    }

1 个答案:

答案 0 :(得分:1)

你必须使用十字路口的贪婪功能。 路由器基本上是一个名为crossroads的thridparty-lib,包含在SAPUI5-Class中。

默认实现已禁用贪婪选项。这意味着路由器会遍历您的路由并获取匹配的第一条路径......就是这样。

使用贪婪选项,您可以告诉路由器搜索所有匹配的模式,而不仅仅是第一个。

以此路由器为例,如何启用贪婪选项: http://ui5.de/core/Router.js