SAPUI5基础知识5 - 控件(control)的使用

1. 背景

在SAPUI5中,控件(Control)是构建用户界面的基本元素。控件是一个可重用的组件,它可以与用户进行交互或显示信息。

每个控件都有自己的特性,例如属性(Properties)、聚合(Aggregations)和事件(Events)。

控件的用途主要有以下几点:

  • 用户交互:控件可以响应用户的操作,例如点击按钮、选择下拉列表项等。
  • 数据绑定:控件可以与模型中的数据进行绑定,实现数据的显示和更新。
  • 布局和样式:控件可以设置布局和样式,以实现所需的用户界面效果。

2. 示例

以下是一个简单的SAPUI5控件示例,创建一个按钮并设置点击事件:

new sap.m.Button({text: "Click me",press: function() {sap.m.MessageToast.show("Button clicked");}
}).placeAt("content");

在这个示例中,我们创建了一个sap.m.Button控件,设置了其text属性和press事件。当用户点击这个按钮时,会显示一个消息提示(MessageToast)。placeAt()方法将这个按钮添加到ID为"content"的HTML元素中。

3. 练习

结合上一篇博客中的例子,让我们使用SAPUI5控件来替代HTML页面中的Hello Word字符串。

index.html文件中,可以看到之前我们实现hello world的方式是过div元素间嵌入hello world文本的方式。

在这里插入图片描述

在本篇博客中,让我们练习通过sap/m/text这个控件实现相同的效果。

3.1 增强index.html文件

首先,让我们在index.html文件中移除<div>元素这段代码,然后添加下面代码

<body class="sapUiBody" id="content"></body>`

改动完后,HTML的文件内容如下:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>My SAPUI5 Test</title><scriptid="sap-ui-bootstrap"src="https://sdk.openui5.org/resources/sap-ui-core.js"data-sap-ui-theme="sap_horizon"data-sap-ui-libs="sap.m"data-sap-ui-compatVersion="edge"data-sap-ui-async="true"data-sap-ui-onInit="module:zsapui5/test/index"data-sap-ui-resourceroots='{"zsapui5.test": "./"}'></script>
</head>
<body class="sapUiBody" id="content"></body>`
</html>

代码解释:
class用于指定元素的样式类,id用于指定元素的唯一标识符。这两个属性可以帮助CSS和JavaScript来定位和操作元素。SAPUI5中的样式类sapUiBody可用于添加主题相关的样式,用于显示 SAPUI5 应用程序。稍后,我将在JavaScript代码中通过id来操作此元素,实现Hello World的效果。

3.2 增强index.js文件

在这个步骤中,让我们将index.js文件修改如下:

sap.ui.define(["sap/m/Text"
], function (Text) {"use strict";new Text({text: "Hello World (by SAPUI5 control)"}).placeAt("content");
});

之前在index.js文件中,我们通过js代码实现了对话框的显示。而此练习,我们通过init事件的回调函数,来实现SAPUI5文本控件sap/m/Text的实例化,并将文本属性text设置为“Hello World”。
在这里插入图片描述

通过将控件的构造函数调用链接到标准方法placeAt(),将这个文本元素id"content"的HTML元素中。

对于SAPUI5的所有控件用于配置的属性、聚合和事件等说明,可以在SAPUI5的Demo Kit文档中查找。此外,每个控件都带有一组公共函数,可以在SAPUI5的API文档中查找。

注意: 只有sap.ui.core.Control或其子类的实例才能被独立渲染并具有placeAt功能。每个控件都扩展了只能在控件内部渲染的sap.ui.core.Element。查看API参考以了解更多关于控件继承层次的信息。每个控件的API文档都引用了直接已知的子类。

3.3 运行程序

运行修改后的程序,我们可以看到以下效果:

在这里插入图片描述

之前写到index.js中的alert弹出窗口不见了,同时hello world的字体也不同于之前的效果。

4. 注意JavaScript代码中的依赖关系

在js文件中,引用控件依赖项顺序要和函数参数的顺序一致,建议使用相同的名称来引用它们。

例如下例中,我们引用了两个控件,则正确实例化它们的方式如下:

sap.ui.define(["sap/m/Text","sap/m/Input"
], function (Text, Input) {new Text();new Input();
});

下面是一个错误的调用方式:

sap.ui.define(["sap/m/Text","sap/m/Input"
], function (Input, Text2) {new Text(); // 错误,未定义 Text 参数(只定义了 Text2)new Input(); // 没有错误,但它实例化了一个 sap.m.Text 控件,因为顺序是决定因素,而不是名字。
});

5. 小结

本文介绍了SAPUI5中如何使用控件,并给出了相关的代码示例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

btrace:binder_transaction+eBPF+Golang实现通用的Android APP动态行为追踪工具

一、简介&#xff1a; 在进行Android恶意APP检测时&#xff0c;需要进行自动化的行为分析&#xff0c;一般至少包括行为采集和行为分析两个模块。其中&#xff0c;行为分析有基于规则、基于机器学习、基于深度学习甚至基于大模型的方案&#xff0c;各有各的优缺点&#xff0c;不…

kettle实时增量同步mysql数据

** 本文主要介绍运用kettle实时增量同步mysql数据 ** Debezium介绍 官网地址&#xff1a;https://debezium.io/documentation/ Debezium是一个开源项目&#xff0c;为捕获数据更改(Capture Data Change,CDC)提供了一个低延迟的流式处理平台&#xff0c;通过安装配置Debeziu…

Aigtek高压功率放大器在超声电机中的应用

超声电机是一种先进的电机技术&#xff0c;常用于各种应用&#xff0c;如医疗成像、工业自动化和汽车技术。这些电机在高速、高精度和低噪音要求的领域中表现出色。在驱动这些超声电机时&#xff0c;高压功率放大器发挥着关键作用。本文将介绍高压功率放大器如何驱动超声电机&a…

【kyuubi-spark】从0-1部署kyuubi集成spark执行spark sql到k8s读取iceberg的minio数据

一、背景 团队在升级大数据架构 前端使用trino查询&#xff0c;对trino也进行了很多优化&#xff0c;目前测试来看&#xff0c;运行还算稳定&#xff0c;但是不可避免的trino的任务总会出现失败的情况。原来的架构是trino失败后去跑hive&#xff0c;而hive是跑mapreduce依赖于…

c->c++(一):部分KeyWord

本文主要探讨c相关关键字的使用。 char char默认是unsigned/signed取决平台,wchar_t宽字符:用于Unicode编码(超过一个字节),用wcin和wcout输入输出,字符串为wstring char8_t(20),char16_t(11起),char32_t(11):指定占用字节数且是无符号,字符串类u8string,u16s…

关于对pagination.js源代码进行修改且引入项目使用

实现效果 使用定时器对组件进行每秒请求&#xff0c;每过固定时间之后&#xff0c;进行下一页项目请求&#xff0c;进行到最后一页请求的时候返回第一页。 首先引入js插件 <script src"./js/pagination.js" type"text/javascript"></script>…

Python 中国象棋游戏【含Python源码 MX_011期】

简介&#xff1a; 中国象棋是一种古老而深受喜爱的策略棋类游戏&#xff0c;也被称为中国的国粹之一。它在中国有着悠久的历史&#xff0c;起源可以追溯到几个世纪以前。Python 中国象棋游戏是一个用Python编程语言编写的软件程序&#xff0c;旨在模拟和提供中国象棋的游戏体验…

CVE-2024-23692:Rejetto HFS 2.x 远程代码执行漏洞[附POC]

文章目录 CVE-2024-23692&#xff1a;Rejetto HFS 2.x 远程代码执行漏洞[附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 CVE-2024-23692&#xff1a;Rejetto HFS 2.x 远程代码执行漏洞[附POC] 0x01 前言 …

Elasticsearch:简化数据流的数据生命周期管理

作者&#xff1a;来自 Elastic Andrei Dan 今天&#xff0c;我们将探索 Elasticsearch 针对数据流的新数据管理系统&#xff1a;数据流生命周期&#xff0c;从版本 8.14 开始提供。凭借其简单而强大的执行模型&#xff0c;数据流生命周期可让n 你专注于数据生命周期的业务相关方…

干货!电脑如何录屏?6款win10录屏大师软件深度测评

电脑如何录屏&#xff1f;在2024年&#xff0c;截图或屏幕录制可以说是一种无价的工具。它是捕捉重要信息、与朋友和同事分享说明&#xff0c;或者只是存储您最喜爱的游戏和应用程序中的记忆的好方法。在 Windows 上录制屏幕非常简单。在本篇文章中&#xff0c;我们将讨论在win…

113.网络游戏逆向分析与漏洞攻防-邮件系统数据分析-结构体数据更新思路分析

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果&#xff0c;代码看不懂是正常的&#xff0c;只要会抄就行&#xff0c;抄着抄着就能懂了 内容…

绘唐科技官网

绘唐科技AI工具是一系列经过训练的人工智能工具&#xff0c;旨在提供各种智能化的解决方案。这些工具可以应用于多个领域&#xff0c;包括自然语言处理、图像识别、语音识别、机器学习等。 其中&#xff0c;自然语言处理工具可以帮助用户处理和理解文本数据。它可以实现文本分类…

Spring 内置BeanFactoryPostProcessor的子孙们

同样的Spring 也 内置了 一些实现 BeanFactoryPostProcessor的类&#xff0c;各有各的用处。 spring-context AspectJWeavingEnabler 用来把ClassPreProcessorAgentAdapter注册到LoadTimeWeaver中ConfigurationClassPostProcessor 一个重要的类&#xff0c;用来处理Configurat…

3、matlab单目相机标定原理、流程及实验

1、单目相机标定流程及步骤 单目相机标定是通过确定相机的内部和外部参数&#xff0c;以便准确地在图像空间和物体空间之间建立映射关系。下面是单目相机标定的流程及步骤&#xff1a; 搜集标定图像&#xff1a;使用不同角度、距离和姿态拍摄一组标定图像&#xff0c;并确保标…

泉州职业技术大学2024Java期末题库【基础题】

1.根据输入的表示星期几的数字&#xff0c;对应输出它的英文名称。 考察内容:Switch语句的掌握 public class test1 {public static void main(String[] args) {//switch语句复习//创建对象java.util.Scanner input new java.util.Scanner(System.in);//提示输入语句System.ou…

【递归、搜索与回溯】DFS解决FloodFill算法

一、经验总结 之前我们已经研究过了BFS解决FloodFill算法&#xff1a;【优选算法】BFS解决FloodFill算法-CSDN博客 DFS只是遍历顺序发生了变化&#xff0c;其他需要注意的点大差不差。 二、相关编程题 2.1 图像渲染 题目链接 733. 图像渲染 - 力扣&#xff08;LeetCode&am…

linux服务器网络配置

目录 1、centos的网络配置1.1 静态Ipv4配置方法&#xff1a;1.2 动态Ipv4的设置方法1.3 常见ping不通网关的原因&#xff1a;1.4 查看操作系统版本1.5 查看一台服务器的所有服务1.6 猜测所在房间网关ip 2、 Ubuntu的网络配置&#xff08;静态ipv4&#xff09;3、2024.6.14 解决…

计算机网络(8) Finite State Machines(有限状态机)

一.建立连接&#xff08;三次握手&#xff09; 建立连接过程中的状态转换如下&#xff1a; 客户端&#xff1a; 发送SYN CLOSED >>>>>>>>>>>>>>SYN SENT(第一次握手) 接收SYNACK发送ACK …

【云原生】创建harbor私有仓库及使用aliyun个人仓库

1.安装docker #删除已有dockersystemctl stop docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine #安装docker yum install -y docker-ce-20.10.1…

SIGMOD 2024 | 时空数据(Spatial-Temporal)和时间序列(Time Series)论文总结

SIGMOD2024于6月9号-6月14号正在智利圣地亚戈举行&#xff08;Santiago Chile&#xff09; 本文总结了SIGMOD 2024有关时间序列&#xff08;time series&#xff09;,包括时序数据库&#xff0c;查询优化等内容。以及时空数据&#xff08;spatial-temporal data&#xff09;的…