如何将XML视图转换为JavaScript视图/SAPUI5
我试图将xml BlockLayout结构化代码转换为js。但它不能正常工作,因为它不能在视图中显示任何内容。我检查了聚合,发现行有单元格聚合,单元格有sap.ui.Control聚合 JavaScript:如何将XML视图转换为JavaScript视图/SAPUI5,javascript,xml,sapui5,Javascript,Xml,Sapui5,我试图将xml BlockLayout结构化代码转换为js。但它不能正常工作,因为它不能在视图中显示任何内容。我检查了聚合,发现行有单元格聚合,单元格有sap.ui.Control聚合 JavaScript: var oLayout = new sap.ui.layout.VerticalLayout("Layout", { content: [ new sap.ui.layout.BlockLayout("Block",
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);
当我检查是否添加了某些内容时,我看到添加的内容没有单元格和文本。
希望这能有所帮助
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”
],函数(控制器,垂直布局,块布局,块布局,块布局,块布局单元格,文本){
sap.ui.jsview(“myView.Template”{
getControllerName:函数(){
返回“myView.Template”;
},
createContent:函数(oController){
返回新的垂直布局({
内容:新区块布局({
内容:新BlockLayoutRow({
内容:新BlockLayoutCell({
内容:新文本({
文本:“测试”
})
})
})
})
});
}
});
Controller.extend(“myView.Template”{
onInit:功能(oEvent){
},
});
});
var view=sap.ui.view({
类型:sap.ui.core.mvc.ViewType.JS,
viewName:“myView.Template”
});
视图。放置位置(“内容”);
<!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>