我正在尝试将xml BlockLayout结构化代码转换为js。但是它不能正常工作,因为它不会在视图上显示任何内容。我检查了聚合,然后看到Row和sap.ui.Cell有控件聚合。
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);
当我检查调试器是否添加了某些内容时,我看到添加的内容没有单元格和文本。
答案 0 :(得分:1)
希望这会有所帮助 https://jsbin.com/benogay/edit?html,js,output
<!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>