SAPUI5从字符串解析XML视图
问题描述:
是否可以解析XML字符串并将其用作SAPUI5-View?SAPUI5从字符串解析XML视图
我喜欢做这样的事情:
var sXML = '<core:View xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:core="sap.ui.core"
xmlns:mvc="sap.ui.core.mvc"
xmlns:l="sap.ui.layout"
xmlns:f="sap.ui.layout.form"
xmlns="sap.m"
controllerName="controller.App"
displayBlock="true">
<App>...</App></core>';
var oView = sap.ui.view({id:"idstart1", view: sXML, type:sap.ui.core.mvc.ViewType.XML});
答
当然,通过与sap.ui.xmlview
字符串定义属性viewContent
,这是可行的,因为API reference状态:
viewContent
[... ]可以将视图描述保存为XML字符串或已经解析的XML文档。
看看这个小例子,它创建了一个xmlView中出字符串文字:
sap.ui.xmlview(`myViewID`, {
async: true,
height: `100%`,
viewContent: `<mvc:View
xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc">
<App>
<Page title="My String View">
<Title text="Hello, world!"/>
</Page>
</App>
</mvc:View>`,
}).loaded().then(createdView => createdView.placeAt(`content`));
<script id="sap-ui-bootstrap"
src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js"
data-sap-ui-theme="sap_belize"></script>
<body class="sapUiBody" id="content"></body>
提到一个重要的事情是,我们应该始终使用async: true
只要有可能。当发生同步XHR时,浏览器的整个UI线程被阻塞(直到请求完成),这导致了糟糕的用户体验。出于这个原因,正确的是,同步XHR won't be usable anymore。
工作者之外的同步XMLHttpRequest正在从Web平台中移除。