一、介绍

HUAWEI DevEco Studio(后文简称:IDE)自2020年9月首次发布以来,经10次迭代升级,不断为HarmonyOS应用开发增强能力。3月31日,IDE再度升级到DevEco Studio 3.0 Beta3版本。新版本具有一站式信息获取、多设备工程模板、实时动态双向预览、全新构建工具一键编译打包、一键式自动化签名、低代码开发等能力。

其中低代码开发是IDE为开发者提供的可视化界面开发方式,具有丰富的UI界面编辑功能。开发者可自由拖拽组件、快速预览界面效果、所见即所得、有效降低时间成本和提升构建UI界面的效率。

接下来就由开发者贾佳豪为大家展示如何用低代码实现一个简单的页面跳转功能,让你一看就会,一做就对!

二、效果预览

首先我们先看一下效果图。如图1所示,效果图主要由两个页面组成,点击第一个页面的“一键入门”按钮即可跳转到第二个页面,再点击第二个页面的“返回”按钮即可返回到第一个页面。

图1 效果图

下面让我们跟随贾佳豪的开发指导,一起动手尝试一下吧。

三、开发过程

1. 安装DevEco Studio 

根据HarmonyOS应用开发官网文档安装DevEco Studio 3.0 Beta3 for OpenHarmony。

DevEco Studio 3.0 Beta3 for OpenHarmony地址:
HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者

2. 创建新工程

工具下载完成后,我们就可以开始创建支持低代码开发的新工程了,操作如下:

(1) 打开DevEco Studio创建一个新工程 (File > New >Create Project) 。

(2) 如图2所示,在工程模板选择Empty Ability,然后点击Next进行下一步。

(3) 填写工程配置信息,打开Enable Super Visual开关,UI Syntax选择JS,其余配置保持默认即可。

(4) 最后在工程配置信息界面,点Finish,工程的创建就完成啦。

图2 创建新工程

新工程创建完成后,我们再了解一下低代码工程目录中的index.js和index.visual文件。

图3 低代码工程目录

index.js是低代码页面的逻辑描述文件(如红框所示),它定义了页面里所用到的所有的逻辑关系,比如数据、事件等,后文预览中实现页面跳转就是在此文件中定义。

注:使用低代码页面开发时,其关联js文件的同级目录中不能包含hml和css页面,否则出现编译错误。

index.visual是存储低代码页面的数据模型文件(如蓝框所示),双击该文件即可打开低代码页面,进行可视化开发设计。

如果创建了多个低代码页面,则pages目录下会生成多个页面文件夹及对应的js或visual文件(如黄框所示),后文的“开发第二个页面”部分将会具体介绍。

了解完index.js和index.visual文件,下面我们正式进入低代码开发。

3. 开发第一个页面

我们先开发第一个页面,如图4所示,第一个页面是在容器中展示“低代码入门”文本和“一键入门”按钮,它们分别可以通过Div、Text、和Button组件来实现。下面一起跟随开发步骤完成第一个页面的开发。

图4 第一个页面

步骤1:删除画布原有模板组件。

如图5所示,新工程创建完成后,第一个页面会默认显示文本(Hello World) ,它是由容器组件和文本组件构成的,可以直接使用,但为了让大家清晰地看到每个组件的使用方法,我们打开index.visual文件,选中画布中的组件,单击鼠标右键,选择Delete删除画布原有模板组件,从零开始。

图5 删除画布原有模板组件

步骤2:添加Div容器组件:

删除画布原有模板组件后,我们重新给画布添加Div容器,并设置Div容器的样式和属性。

(1) 如图6所示,选中UI Control中的Div组件,将其拖至画布。

(2) 点击右侧属性样式栏中的样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕。

(3) 点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的Alignltems样式为center,使得其子组件在交叉轴上居中显示。

图6 设置容器样式和属性

步骤3:添加Text文本组件:

接下来我们在Div容器中加入text组件,以便添加文本。

(1) 如图7所示,选中UI Control中的Text组件,将其拖至Div组件的中央区域。

(2) 点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为“低代码入门” 。

(3) 点击右侧属性样式栏中的样式图标( Feature),设置组件的FontSize样式为60px, 使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示。

(4) 再选中画布上的Text组件,拖动放大。

图7 添加文本

步骤4:添加Button按钮组件:

接下来我们在文本下面添加Button组件,为页面增加一个按钮。

(1) 如图8所示,选中UI Control中的Button组件,将其拖至Text组件下面。

(2) 点击右侧属性样式栏中的属性图标(Properties),设Button组件的Value属性为"一键入门"。

(3) 点击右侧属性样式栏中的样式图标 (Feature),设置组件的FontSize样式为40px,使得其文字放大;再选中画布上的Button组件,拖动放大。

图8 添加按钮

步骤5:查看预览效果:

如图9所示,所有步骤完成后,打开预览器查看效果。

图9 第一个预览效果图

简单几步就完成第一个页面开发,是不是超级简单?接下来让我们一起开发第二个页面。

4. 开发第二个页面

在开发第二个页面之前需要先创建第二个页面的second.js和second.visual文件,用于存储 第二个页面的逻辑和数据。如图10所示,右键点击pages文件夹,选择New >Visual,命名为second,单击Finish,就完成了第二个页面的second.js和second.visual文件的创建。

图10 第二个页面的second.js和second.visual文件

由于第二个页面的第一个页面的开发步骤一模一样,故此处不再赘述,直接为大家展示第二个页面效果(如图11所示):

图11 第二个页面效果图

两个页面完成之后,那么如何实现两个页面之间的跳转呢?请继续往下看。

5. 第一个页面的跳转

在第一个页面中,将跳转按钮绑定onclick方法,点击按钮时,即可跳转到第二页。操作如下:

(1) 首先需要在index.viusal中,给画布上的Button组件选择onclick方法。操作如图12所示,打开index.visual,选中画布上的Button组件。点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择onclick方法。

图12 onclick设置

(2) 然后在index.js当中绑定onclick方法,并在onclick方法中写入router模块,index.js代码如下:

import router from '@system.router';export default {// 绑定onclick方法
onclick () {// 写入router模块router.push({uri: 'pages/second/second',  // 指定要跳转的页面})}
}

完成上述两步后,即可实现从第一个页面跳转到第二个页面。

6. 第二个页面的返回

接下来我们看下如何从第二个页面返回到第一个页面,和上一个跳转类似,在第二个页面中,返回按钮绑定back方法,点击按钮时,即可返回到第一页。操作如下:

(1) 如图13所示,首先打开second.visual,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),点击Click事件的输入框,选择back。

图13 back设置

(2) 然后在second.js中绑定back方法,并在back方法中写入router模块,second.js 代码如下:

import router from '@system.router';export default {// 绑定back方法
back(){// 写入router模块router.back()}
}

7. 查看最终效果

至此,我们的两个页面已经开发好,页面跳转也已经设置好,接下来就可以点击预览器查看最终效果啦(如图14所示)。

图14 最终效果

四、结语

以上就是使用低代码实现一个简单的页面跳转功能的全部介绍啦,感兴趣的小伙伴赶紧动手尝试一下吧,期待大家用低代码开发出更多精彩、有趣的应用。

入门攻略丨教你用低代码实现一个简单的页面跳转功能相关推荐

  1. IVX低代码平台开发——微信小程序实现抽奖功能

    写在前面 通过利用可视化编程实现微信小程序的抽奖功能,带大家初步了解 iVX 的强大之处. 文章目录 写在前面 iVX开发 抽奖功能实现 iVX开发 基本介绍 iVX是一个 "零代码&quo ...

  2. 从0到1 用腾讯云低代码开发一个问卷小程序(基于模版中心二开)

    目录 引言 需求分析 创建应用 编辑数据源 修改页面 代码解析 改造头部 改造内容 改造尾部 代码构建与发布 管理数据 总结 引言 日常生活场景中,商家经常需要调查用户的产品体验,互联网产品更是如此, ...

  3. 教你用python代码写一个我的世界,绝对好玩

    哈哈嗨,我来了~ 今天我教大家怎么用python做一个我的世界, 首先,你得安装依赖库: pip install pyglet 然后,我强调一下,这个游戏只能在python3.8以上运行,否则会报错罒 ...

  4. python博弈论代码_使用 40 多行的 Python 代码实现一个简单的演化过程

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在纳米比亚的 PyCon 会议上,我发表了一篇名为 <使用 Python 解决"升级版的剪 ...

  5. 使用Python代码实现一个简单的分子动力学模拟程序

    1. 前言 理解分子动力学模拟最好的方法是编写一个分子动力学程序,换句话说,教会计算机去理解并做执行,自己才算理解会了.因此本文将从常用于描述分子间的非键相互作用中的Lennard-Jones pot ...

  6. python简单小游戏代码_一个简单的python小游戏---七彩同心圆

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 用pygame做一个简单的python小游戏-七彩同心圆 玩法:每次点击鼠标时,会以鼠标为圆心,不断 ...

  7. java简单编译器源代码_25行代码实现一个简单的编译器

    起因 <25行JavaScript语句实现一个简单的编译器>实现的是一个简单到不能再简单的玩具的玩具,他的魔法是函数式编程简化了js代码.java 8提供了函数式编程的支持,昨晚脑子抽风突 ...

  8. 教你如何使用 python 制作一个简单的密码本

    不知道大家了解不了解暴力破解?我稍微解释下: 假如有个无聊的人用锁把我的电驴锁了,我并不知道与之匹配的钥匙长什么样,但是我有几乎无数把钥匙可以去试开这把锁. 这样看来,只有我肯浪费时间用一把把钥匙去开 ...

  9. 35 行代码实现一个简单的 shell

    先上代码 shell.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include & ...

最新文章

  1. LeetCode实战:删除链表中的节点
  2. CSS3实践之路(一):CSS3之我观
  3. 亲手把360奇安信软件卸载了,爽!
  4. Java中的Type接口和Class类有什么区别
  5. 故意向Linux内核提交漏洞被全线拉黑?华人教授行为引众怒
  6. 【C++基础学习】《C++ Primer》中的“有序型”
  7. 如何实现接口的幂等性?
  8. 下边框_css基础篇07--边框样式
  9. 利用反射判断初始化后的对象所有属性是否为空判断对象指定属性是否为空
  10. 原型万事通,你想知道(但不敢问)的都在这里
  11. php10天速成培训,十天学会php之第九天
  12. 初中级前端开发工程师如何提升个人能力?
  13. excel使用数据字典显示数据——宏
  14. tftpd获取文件失败
  15. 一元函数积分学基本计算例题
  16. 数据结构韩顺平版(2)
  17. 一篇文章带你搞定 create connection SQLException, url: jdbc:mysql://10.15.16.63:3306/restful, errorCode 1130
  18. 激光雷达的应用及发展前景
  19. 企业微信群机器人是什么?企微机器人如何自动发消息?
  20. Ubuntu / Python / Mega自动同步监控照片

热门文章

  1. 中国建材工业出版社计算机基础,中国建材工业出版社2012年书目9-14.doc
  2. 全国-城市-百度地图中心点坐标
  3. 数据科学系列读书笔记
  4. 今天看到了一个关于学习英语的帖子,学习下
  5. 微信抢号软件_微信的视频号出来小商店,是要抢购物平台的生意吗?
  6. 我的utool使用体验~
  7. 黑群晖宝塔配置zblog,wordpress.frp内网穿透记录(转载的)
  8. 2016级算法第二次上机-A.画个圈圈诅咒你
  9. 硬盘结构详解;详解MBR和GPT分区结构;详解raid磁盘阵列
  10. 爬取高德地图poi数据