【问题标题】:Navigation to a SAPUI5 Application using url link from an external application [closed]使用来自外部应用程序的 url 链接导航到 SAPUI5 应用程序 [关闭]
【发布时间】:2020-03-26 20:49:54
【问题描述】:

我有一个新场景,其中提供了一个链接,点击后,它将导航到一个 sapui5 应用程序。我必须阅读 url 中传递的参数并决定对视图/页面的特定导航。我怎样才能做到这一点?

提前致谢。

【问题讨论】:

  • 到目前为止您尝试了哪些尝试,哪些尝试没有奏效?对于如何访问应用程序中的参数,您还没有提供代码示例。
  • 欢迎来到 Stack Overflow!我们倾向于期望发布像您这样的问题的人至少尝试过一些编码解决方案;我们擅长在发布的代码中发现错误和其他问题,但不擅长从空基发布代码。

标签: javascript url sapui5


【解决方案1】:

首先,RTFM,在开始为 SAPUI5 进行开发之前,您应该真正做一下演练。

SAPUI5 walkthrough 你问的问题在里面描述得很好...... Routing with parameters

但由于我在这里是一个好人,TL;DR;版本:

您必须向路由器添加路由,定义您想要/需要的 url 参数:

在清单中:

...,
routes: [
                {
                    "name": "personDetailView",
                    "pattern": "person/detail/{id}",
                    "titleTarget": "",
                    "target": [
                        "PersonDetailView"
                    ]
                },
...
]

然后添加目标:

targets: [
                "FuelRequestNew": {
                    "clearControlAggregation": false,
                    "viewName": "Detail",
                    "viewId": "PersonDetailView",
                    "viewPath": "namespace.workspace.view.personDetail"
                },
...
]

这样,在输入 url(在此示例中为 domain.com/person/detail/{id})后,路由器会将您带到正确的页面。

要让 {id} 通过,您需要将 onRouteMattched 事件附加到视图。

在视图的 onInit 中:

this.getRouter().getRoute("personDetailView").attachPatternMatched(this._onRouteMatched, this);

并定义onRouteMatched的回调方法:

_onRouteMatched: function (oEvent) {
            var sPersonId= oEvent.getParameter("arguments").id; // 'id' name defined in routes!
            // Do stuff with url parameters
}

【讨论】:

    猜你喜欢
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2011-03-10
    相关资源
    最近更新 更多