首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单击按钮,在浏览器的新选项卡中打开sapui5详细信息页

单击按钮,在浏览器的新选项卡中打开sapui5详细信息页
EN

Stack Overflow用户
提问于 2015-04-08 06:01:52
回答 2查看 11.9K关注 0票数 0
代码语言:javascript
运行
复制
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">

        <script src="resources/sap-ui-core.js"
                id="sap-ui-bootstrap"
                data-sap-ui-libs="sap.m,sap.ui.table,sap.ui.commons"
                data-sap-ui-theme="sap_bluecrystal">
        </script>
        <!-- only load the mobile lib "sap.m" and the "sap_mvi" theme -->

        <script>
                var bFlag;
                sap.ui.localResources("views");
                sap.ui.localResources("i18n");
                sap.ui.localResources("utils");
                jQuery.sap.registerModulePath('Application', 'Application');
                jQuery.sap.require("Application");
                var oApp = new Application({
                    root : "content"
                });
        </script>
<link href="css/stylesheet.css" rel="stylesheet" type="text/css">

    </head>
    <body class="sapUiBody" role="application">
        <div id="content"></div>
    </body>
</html>

我正在开发一个sapui5应用程序,其中我有一个拆分应用程序,现在在工具栏的详细信息页上,我有一个名为“在新的window.So中打开”的按钮,我想在单击此按钮的新选项卡中打开这个特定的详细信息页(仅为详细信息页)。

有人能帮我解决这件事吗?

提前谢谢。

致以敬意,

沙里尼

EN

回答 2

Stack Overflow用户

发布于 2018-10-16 08:58:15

使用SAP的路由器 API。基本上,在manifest.json文件中定义路由器、路由、模式和目标对象:

代码语言:javascript
运行
复制
"sap.ui5": {
  "rootView": {
    "viewName": "path.to.view.name",
    "type": "XML",
    "async": true
  },
  "routing": {
    "config": {
      "routerClass": "sap.m.routing.Router",
      "viewType": "XML",
      "viewPath": "path.to.view",
      "controlId": "init",
      "controlAggregation": "pages",
      "async": true
    },
    "routes": {
      "init": {
        "pattern": "",
        "target": "init",
        "viewId": "vid_init"
      },
      "target_name": {
        "pattern": "url_parameter",
        "target": "target_name",
        "viewId": "vid_view_name"
      }
    },
    "targets": {
      "target_name": {
        "viewName": "view_name",
        "transition": "show"
      }
    }
  }
}

在按钮的属性中分配一个按下事件处理程序:

代码语言:javascript
运行
复制
<Button id="myButton" press=".onOpenNewWindow" />

在视图的控制器中,编写一个处理事件的代码。示例:

代码语言:javascript
运行
复制
onOpenNewWindow: funtion(oEvent){
  sap.ui.require([
    "sap/m/library"
  ], sapMLib => sapMLib.URLHelper.redirect("#/url_parameter", /*new window*/true));
},

资源

票数 2
EN

Stack Overflow用户

发布于 2015-04-08 06:53:54

基本上,您可以在JavaScript中打开一个新选项卡,如下所示:

代码语言:javascript
运行
复制
window.open("<yourURL>", _blank');

对于您的SAPUI5应用程序,您只需在一个专门的.html文件中提供一个额外的.html文件,该文件将加载您的视图/控制器。如果要将信息从Master/Detail应用程序传递到新选项卡,可以添加URL参数。

正如我在您编辑的问题中所看到的,您正在使用一个应用程序。我不知道进一步的结构(特别是Application.js的功能),但是在单独的.html中,一个非常简单的解决方案可能如下所示:

代码语言:javascript
运行
复制
<script>
            sap.ui.localResources("views");
            sap.ui.localResources("i18n");
            sap.ui.localResources("utils");
            sap.ui.jsview("name.of.your.detailView").placeAt("content");
</script>

如果您想重用您的Application.js文件,可以扩展它并传递一个简单的参数,该参数告诉您只显示一个视图。

还有一件事:我想您在应用程序中的某个地方使用了sap.m.SplitApp。要只显示DetailView,应该在此时使用sap.m.App

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29507085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档