关于 SAP UI5 应用 render2 实例异步创建的编码实现(2)

简介: 关于 SAP UI5 应用 render2 实例异步创建的编码实现
 Log.error("sap.ushell.Container.createRenderer() should always be called with bAsync:true.");
            return getRendererInstance(sModule);



image.png



更改一下 index.html 的配置:


 sap.ui.getCore().attachInit(() => sap.ushell.Container.createRenderer("fiori2", true).placeAt("content"))



然后就进入 async 分支了:

返回的是一个 Promise 对象:

改成这段代码:



果不其然,Promise resolve 之后,回调函数里返回的是一个 renderer 实例:



修改成如下代码后,问题消失:


sap.ui.getCore().attachInit(() => sap.ushell.Container.createRenderer("fiori2", true).then(

  (oRenderer) => {

   oRenderer.placeAt("content");

  }

 ));



sap.ui.base.Object.extend是SAP UI5中的一种继承方式,用于创建一个新的对象类型,并基于现有对象类型创建子类型。它允许在创建自定义对象时继承现有对象的属性和方法,并扩展它们以满足特定需求。


使用sap.ui.base.Object.extend可以创建自定义对象类,这些类可以在SAP UI5应用程序中用作模型、控制器、视图等组件。这种方式还允许开发人员通过将属性和方法添加到新对象类中来扩展现有类,从而满足特定的需求。这样做可以避免在创建新类时重复编写相同的代码,从而提高代码的可重用性和可维护性。


使用sap.ui.base.Object.extend的基本语法如下:


var MyObject = sap.ui.base.Object.extend("my.namespace.MyObject", {
    metadata : {
        properties : {
            // define properties here
        },
        events : {
            // define events here
        },
        methods : {
            // define methods here
        }
    },
    constructor : function() {
        // define constructor here
    },
    // define additional methods here
});

上述代码创建了一个名为my.namespace.MyObject的新对象类型,并基于sap.ui.base.Object类创建了一个子类型。新类型可以在metadata属性中定义属性、事件和方法,并可以在constructor函数中初始化对象。创建新对象类型后,可以使用以下语法创建对象实例:


var myObject = new my.namespace.MyObject();


相关文章
|
2天前
|
前端开发 编解码 数据格式
浅谈响应式编程在企业级前端应用 UI 开发中的实践
浅谈响应式编程在企业级前端应用 UI 开发中的实践
24 0
浅谈响应式编程在企业级前端应用 UI 开发中的实践
|
2天前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
33 0
|
2天前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
18 0
|
2天前
|
Web App开发 数据采集 前端开发
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
纯技术讨论:如何让 SAP UI5 应用无法被别人在浏览器里调试 - 这种做法不推荐试读版
26 0
|
1天前
|
JavaScript 前端开发
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
试读版:如何找出 SAP 标准 Fiori 应用某个按钮点击后执行的 JavaScript 源代码
7 0
|
2天前
|
前端开发 搜索推荐 UED
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
【4月更文挑战第30天】探索Flutter的高级UI组件,如`TabBar`、`Drawer`、`BottomSheet`,提升应用体验和美观度。使用高级组件能节省开发时间,提供内置交互逻辑和优秀视觉效果。示例代码展示了如何实现底部导航栏、侧边导航和底部弹出菜单。同时,自定义组件允许个性化设计和功能扩展,但也带来性能优化和维护挑战。参考Flutter官方文档和教程,深入学习并有效利用这些组件。
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
|
2天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型应用开发】3.2 RAG实战 - RAG应用+UI实现加载本地文件并对话
【AI大模型应用开发】3.2 RAG实战 - RAG应用+UI实现加载本地文件并对话
36 0
|
2天前
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为试读版
17 1
|
2天前
|
Web App开发 前端开发 JavaScript
Spring Boot整合 mybatisplus(后端) Vue+echarts+Element UI+axios(前端)---前后端项目实例demo
Spring Boot整合 mybatisplus(后端) Vue+echarts+Element UI+axios(前端)---前后端项目实例demo
34 1
|
2天前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
17 0