JavaScript轻应用:UI组件的属性配置

简介: 之前的文档已经介绍过,轻应用UI主要包含三部分:页面结构(xml文件)、页面样式(css文件)和页面逻辑(js文件),这里主要介绍一下页面结构的组成。

1、前言

之前的文档已经介绍过,轻应用UI主要包含三部分:页面结构(xml文件)、页面样式(css文件)和页面逻辑(js文件),这里主要介绍一下页面结构的组成。

/pages 目录中的 xml 文件用于定义当前这个页面的结构,文件内容遵循 xml 语法。xml文件中主要包含了UI组件的标签,以及UI组件的属性。

2、UI组件标签

以文本组件为例,其标签名称是text,通过以下方式可以创建一个文本组件。组件的通用属性和专有属性如下所示,开发者可以通过属性配置来管理该文本组件。

xml文件示例:

  1. <page>
  2. <text id="amp" value="amp text" > text>
  3. page>

轻应用框架已支持的UI组件及标签汇总如下:

UI组件名称

标签

按键

button

视图容器

container

图标

icon

图片

image

线条

line

列表

list

预加载

preload

进度条

progress

滑动选择器

slider

开关

switch

文本

text

可编辑文本

textarea

另外还有一个重要的标签page,page代表页面,在每个xml文件中有且只能有一个page标签。

3、UI组件属性

3.1、通用属性

通用属性是每一个组件都拥有的属性,目前暂定只有一个id是通用属性,组件的样式是通过id选择器来完成的(在后续的页面样式一章中会详细介绍)。

通用属性

说明

示例

id

组件的id会在css选择器和组件属性赋值时使用。

3.2、组件专有属性

每个UI组件都支持不同的属性,例如文本组件(text)中的属性value表示文本内容;按键(button)中的属性包含按键点击的回调事件,以及按键点击后的颜色。

text的特有属性

属性

说明

类型

默认值

value

控件文本

string

-

button的特有属性

属性

说明

类型

默认值

press-color

按下后的颜色

color

#BEBEBE

value

控件文本

string

-

onClick

点击回调事件

function(id: string)

-

其他的组件及属性配置可参考UI组件。

4、参考示例

下面我们通过两个完整的示例来详细介绍一下UI的标签和属性。

text标签

app.json配置:

  1. {
  2. "version": "0.0.1",
  3. "io": {
  4. },
  5. "pages": [
  6. "pages/text/text"
  7. ],
  8. "debugLevel": "DEBUG"
  9. }

可以看到轻应用UI的pages中包含一个页面,页面路径为"pages/text/text",可以看到在和app.json和pages文件夹位于同一目录,另外amp为轻应用在linux上编译链接生成的可执行文件。

并且在页面路径下可以看到以下几个文件:

xml文件示例:

  1. <page>
  2. <text id="amp" value="amp text"> text>
  3. page>

通过xml文件中的描述可以看到,该页面中只有一个text文本,该文本的内容为"amp text",id是"amp"。在桌面版Linux环境上执行用例后,运行结果如下:

button 按键

app.json配置:

  1. {
  2. "version": "0.0.1",
  3. "io": {
  4. },
  5. "pages": [
  6. "pages/button/button"
  7. ],
  8. "debugLevel": "DEBUG"
  9. }

app.json的配置同上,不再详细描述。

xml文件示例:

  1. <page>
  2. <button id="button1" value="press"> button>
  3. page>

通过xml文件中的描述可以看到,该页面中只有一个button按键,按键上显示的内容为"press"。在桌面版Linux环境上执行用例后,运行结果如下:

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
1月前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
322 2
|
25天前
|
监控 JavaScript 前端开发
确定使用 `defer` 属性还是 `async` 属性来异步加载 JavaScript
【10月更文挑战第24天】选择使用 `defer` 属性还是 `async` 属性来异步加载 JavaScript 是一个需要综合考虑多个因素的决策。需要根据脚本之间的依赖关系、页面加载性能要求、脚本的功能和重要性等因素来进行权衡。在实际应用中,需要通过测试和验证来确定最适合的加载方式,以提供更好的用户体验和页面性能。
|
5天前
|
存储 缓存 JavaScript
如何优化Node.js应用的内存使用以提高性能?
通过以上多种方法的综合运用,可以有效地优化 Node.js 应用的内存使用,提高性能,提升用户体验。同时,不断关注内存管理的最新技术和最佳实践,持续改进应用的性能表现。
|
24天前
|
数据可视化 JavaScript 前端开发
数据可视化进阶:D3.js在复杂数据可视化中的应用
【10月更文挑战第26天】数据可视化是将数据以图形、图表等形式呈现的过程,帮助我们理解数据和揭示趋势。D3.js(Data-Driven Documents)是一个基于JavaScript的库,使用HTML、SVG和CSS创建动态、交互式的数据可视化。它通过数据驱动文档的方式,将数据与DOM元素关联,提供高度的灵活性和定制性,适用于复杂数据的可视化任务。 示例代码展示了如何使用D3.js创建一个简单的柱状图,展示了其基本用法。D3.js的链式调用和回调函数机制使代码简洁易懂,支持复杂的布局和交互逻辑。
64 3
|
26天前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
254 4
|
25天前
|
监控 JavaScript 前端开发
使用 `defer` 属性异步加载 JavaScript
【10月更文挑战第24天】使用 `defer` 属性异步加载 JavaScript 是一种有效的提高页面性能和用户体验的方法。通过合理设置 `defer` 属性,可以在不影响页面渲染的情况下异步加载脚本,并确保脚本的执行顺序。在实际应用中,需要根据具体情况选择合适的加载方式,并注意处理可能出现的问题,以确保页面能够正常加载和执行。
|
29天前
|
JavaScript 前端开发 开发者
探索JavaScript原型链:深入理解与实战应用
【10月更文挑战第21天】探索JavaScript原型链:深入理解与实战应用
31 1
|
1月前
|
JavaScript 前端开发 API
Vue.js:打造高效前端应用的最佳选择
【10月更文挑战第9天】Vue.js:打造高效前端应用的最佳选择
21 2
|
1月前
|
设计模式 JavaScript 前端开发
探索JavaScript中的闭包:从基础概念到实际应用
在本文中,我们将深入探讨JavaScript中的一个重要概念——闭包。闭包是一种强大的编程工具,它允许函数记住并访问其所在作用域的变量,即使该函数在其作用域之外被调用。通过详细解析闭包的定义、创建方法以及实际应用场景,本文旨在帮助读者不仅理解闭包的理论概念,还能在实际开发中灵活运用这一技巧。
|
1月前
|
缓存 JavaScript 前端开发
深入了解JavaScript的闭包:概念与应用
【10月更文挑战第8天】深入了解JavaScript的闭包:概念与应用
下一篇
无影云桌面