以下代码适用于 OpenUI5 1.74.0 版,但现在该版本已停止维护,我正在尝试使用 1.96.0 版,但页面未加载。以下是我的代码片段。
根视图:FlexibleColumnLayout.view.xml
<View xmlns:f="sap.f" xmlns="sap.m" xmlns:core="sap.ui.core" xmlns:tnt="sap.tnt" xmlns:mvc="sap.ui.core.mvc" displayBlock="true"
controllerName="com.demo.tools.ManagerPortal.controller.FlexibleColumnLayout" height="100%">
<VBox visible="{Auth>/IsAuthorized}">
<core:Fragment fragmentName="com.demo.tools.ManagerPortal.view.fragments.Header" id="idHeader" type="XML"/>
<core:Fragment fragmentName="com.demo.tools.ManagerPortal.view.fragments.SideNavigation" id="idSideNav" type="XML"/>
</VBox>
<f:FlexibleColumnLayout id="fcl" class="mainContent" stateChange="onStateChanged" layout="{/layout}" backgroundDesign="Solid">
<f:customData>
<core:CustomData key="showHeader"
value="{=${Auth > /IsAuthorized} ? 'true' : 'false'}" writeToDom="true" / >
</f: customData >
</f: FlexibleColumnLayout >
</View >
控制器:FlexibleColumnLayout.controller.js
sap.ui.define([
"com/demo/tools/ManagerPortal/controller/BaseController"
], function (BaseController) {
"use strict";
return BaseController.extend("com.demo.tools.ManagerPortal.controller.FlexibleColumnLayout", {
onInit: function () {
this.initializeData();
this.oRouter = this.getOwnerComponent().getRouter();
this.oRouter.attachRouteMatched(this.onRouteMatched, this);
this.oRouter.attachBeforeRouteMatched(this.onBeforeRouteMatched, this);
}
}
}
index.html 中的脚本
< script
id = "sap-ui-bootstrap"
src = "https://sapui5.hana.ondemand.com/1.96.0/resources/sap-ui-cachebuster/sap-ui-core.js"
data - sap - ui - theme="sap_belize"
data - sap - ui - libs="sap.m, sap.ui.core"
data - sap - ui - bindingSyntax="complex"
data - sap - ui - compatVersion="edge"
data - sap - ui - appCachebuster="./"
data - sap - ui - resourceroots='{
"com.demo.tools.ManagerPortal": "./",
"sap.ui.demo.mock": "../../../../../../../test-resources/sap/ui/documentation/sdk/"
}'>
</script >
<script>
sap.ui.getCore().attachInit(function () {
sap.ui.require([
"sap/ui/core/ComponentContainer"
], function (ComponentContainer) {
new ComponentContainer({
name: 'com.demo.tools.ManagerPortal',
height: "100%",
settings: {
id: "com.demo.tools.ManagerPortal"
}
}).placeAt('content');
});
});
</script>
有什么我想念的吗?我该如何解决这个问题?