簡體   English   中英

如何將XML視圖傳輸到JavaScript視圖/ SAPUI5

[英]How to transfer XML view to JavaScript view / SAPUI5

我試圖將xml BlockLayout結構化代碼轉換為js。 但是它不能正常工作,因為它不會在視圖上顯示任何內容。 我檢查了聚合,然后看到存在Row和sap.ui.Control的單元聚合。

JavaScript的:

        var oLayout = new sap.ui.layout.VerticalLayout("Layout", {
            content: [
                new sap.ui.layout.BlockLayout("Block", {
                    content: [
                        new sap.ui.layout.BlockLayoutRow("Row", {
                            content: [
                                new sap.ui.layout.BlockLayoutCell("Cell1", {
                                    content: [
                                        new sap.m.Text("sample", {text: "test"})
                                    ]
                                })
                            ]
                        })
                    ]
                })
            ]
        });

        var viewID = this.getView().sId;
        viewID = viewID + "--detailPage-cont";
        oLayout.placeAt(viewID);

當我檢查調試器是否添加了某些內容時,我看到添加的內容沒有單元格和文本。

在此處輸入圖片說明

希望這可以幫助https://jsbin.com/benogay/edit?html,js,輸出

<!DOCTYPE HTML>
<html>

<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta http-equiv='Content-Type' content='text/html;charset=UTF-8' />
  <script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.m, sap.ui.table" data-sap-ui-theme="sap_bluecrystal">
  </script>
  <script>
    sap.ui.define([
      'sap/ui/core/mvc/Controller',
      'sap/ui/layout/VerticalLayout',
      'sap/ui/layout/BlockLayout',
      'sap/ui/layout/BlockLayoutRow',
      'sap/ui/layout/BlockLayoutCell',
      'sap/m/Text'
    ], function(Controller, VerticalLayout, BlockLayout, BlockLayoutRow, BlockLayoutCell, Text) {
      sap.ui.jsview("myView.Template", {
        getControllerName: function() {
          return "myView.Template";
        },
        createContent: function(oController) {
          return new VerticalLayout({
            content: new BlockLayout({
              content: new BlockLayoutRow({
                content: new BlockLayoutCell({
                  content: new Text({
                    text: "test"
                  })
                })
              })
            })
          });
        }
      });

      Controller.extend("myView.Template", {
        onInit: function(oEvent) {
        },
      });
    });


    var view = sap.ui.view({
      type: sap.ui.core.mvc.ViewType.JS,
      viewName: "myView.Template"
    });
    view.placeAt("content");
  </script>
</head>

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM