0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何用低代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的頁面跳轉(zhuǎn)功能

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:HarmonyOS開發(fā)者 ? 2022-05-16 09:45 ? 次閱讀

一、介紹

HUAWEI DevEco Studio(后文簡(jiǎn)稱:IDE)自2020年9月首次發(fā)布以來,經(jīng)10次迭代升級(jí),不斷為HarmonyOS應(yīng)用開發(fā)增強(qiáng)能力。3月31日,IDE再度升級(jí)到DevEco Studio 3.0 Beta3版本。新版本具有一站式信息獲取、多設(shè)備工程模板、實(shí)時(shí)動(dòng)態(tài)雙向預(yù)覽、全新構(gòu)建工具一鍵編譯打包、一鍵式自動(dòng)化簽名、低代碼開發(fā)等能力。

其中低代碼開發(fā)是IDE為開發(fā)者提供的可視化界面開發(fā)方式,具有豐富的UI界面編輯功能。開發(fā)者可自由拖拽組件、快速預(yù)覽界面效果、所見即所得、有效降低時(shí)間成本和提升構(gòu)建UI界面的效率。接下來就由開發(fā)者賈佳豪為大家展示如何用低代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的頁面跳轉(zhuǎn)功能,讓你一看就會(huì),一做就對(duì)! 二、效果預(yù)覽

首先我們先看一下效果圖。如圖1所示,效果圖主要由兩個(gè)頁面組成,點(diǎn)擊第一個(gè)頁面的“一鍵入門”按鈕即可跳轉(zhuǎn)到第二個(gè)頁面,再點(diǎn)擊第二個(gè)頁面的“返回”按鈕即可返回到第一個(gè)頁面。

70e7fd40-d4b5-11ec-bce3-dac502259ad0.gif

圖1 效果圖

下面讓我們跟隨賈佳豪的開發(fā)指導(dǎo),一起動(dòng)手嘗試一下吧。

三、開發(fā)過程

1. 安裝DevEco Studio

根據(jù)HarmonyOS應(yīng)用開發(fā)官網(wǎng)文檔安裝DevEco Studio 3.0 Beta3 for OpenHarmony。DevEco Studio 3.0 Beta3 for OpenHarmony地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta_openharmony

2. 創(chuàng)建新工程

工具下載完成后,我們就可以開始創(chuàng)建支持低代碼開發(fā)的新工程了,操作如下:

(1) 打開DevEco Studio創(chuàng)建一個(gè)新工程 (File > New >Create Project) 。

(2) 如圖2所示,在工程模板選擇Empty Ability,然后點(diǎn)擊Next進(jìn)行下一步。

(3) 填寫工程配置信息,打開Enable Super Visual開關(guān),UI Syntax選擇JS,其余配置保持默認(rèn)即可。

(4) 最后在工程配置信息界面,點(diǎn)Finish,工程的創(chuàng)建就完成啦。

71172d86-d4b5-11ec-bce3-dac502259ad0.gif

圖2 創(chuàng)建新工程

新工程創(chuàng)建完成后,我們?cè)倭私庖幌碌痛a工程目錄中的index.js和index.visual文件。

7127c47a-d4b5-11ec-bce3-dac502259ad0.png

圖3 低代碼工程目錄

index.js是低代碼頁面的邏輯描述文件(如紅框所示),它定義了頁面里所用到的所有的邏輯關(guān)系,比如數(shù)據(jù)、事件等,后文預(yù)覽中實(shí)現(xiàn)頁面跳轉(zhuǎn)就是在此文件中定義。 注:使用低代碼頁面開發(fā)時(shí),其關(guān)聯(lián)js文件的同級(jí)目錄中不能包含hml和css頁面,否則出現(xiàn)編譯錯(cuò)誤。

index.visual是存儲(chǔ)低代碼頁面的數(shù)據(jù)模型文件(如藍(lán)框所示),雙擊該文件即可打開低代碼頁面,進(jìn)行可視化開發(fā)設(shè)計(jì)。

如果創(chuàng)建了多個(gè)低代碼頁面,則pages目錄下會(huì)生成多個(gè)頁面文件夾及對(duì)應(yīng)的js或visual文件(如黃框所示),后文的“開發(fā)第二個(gè)頁面”部分將會(huì)具體介紹。

了解完index.js和index.visual文件,下面我們正式進(jìn)入低代碼開發(fā)。

3. 開發(fā)第一個(gè)頁面

我們先開發(fā)第一個(gè)頁面,如圖4所示,第一個(gè)頁面是在容器中展示“低代碼入門”文本和“一鍵入門”按鈕,它們分別可以通過Div、Text、和Button組件來實(shí)現(xiàn)。下面一起跟隨開發(fā)步驟完成第一個(gè)頁面的開發(fā)。

714ef96e-d4b5-11ec-bce3-dac502259ad0.png

圖4 第一個(gè)頁面

步驟1:刪除畫布原有模板組件。

如圖5所示,新工程創(chuàng)建完成后,第一個(gè)頁面會(huì)默認(rèn)顯示文本(Hello World) ,它是由容器組件和文本組件構(gòu)成的,可以直接使用,但為了讓大家清晰地看到每個(gè)組件的使用方法,我們打開index.visual文件,選中畫布中的組件,單擊鼠標(biāo)右鍵,選擇Delete刪除畫布原有模板組件,從零開始。

715ee7de-d4b5-11ec-bce3-dac502259ad0.gif

圖5 刪除畫布原有模板組件

步驟2:添加Div容器組件:

刪除畫布原有模板組件后,我們重新給畫布添加Div容器,并設(shè)置Div容器的樣式和屬性。

(1) 如圖6所示,選中UI Control中的Div組件,將其拖至畫布。

(2) 點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(General),設(shè)置Div組件的高度Height為100%,使其占滿屏幕。

(3) 點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Flex),設(shè)置Div組件的FlexDirection樣式為column,使Div的主軸垂直;設(shè)置Div組件的JustifyContent樣式為center,使得其子組件在主軸上居中顯示;設(shè)置Div組件的Alignltems樣式為center,使得其子組件在交叉軸上居中顯示。

718ec260-d4b5-11ec-bce3-dac502259ad0.gif

圖6 設(shè)置容器樣式和屬性

步驟3:添加Text文本組件:

接下來我們?cè)贒iv容器中加入text組件,以便添加文本。

(1) 如圖7所示,選中UI Control中的Text組件,將其拖至Div組件的中央?yún)^(qū)域。

(2) 點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為“低代碼入門” 。

(3) 點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)( Feature),設(shè)置組件的FontSize樣式為60px, 使得其文字放大;設(shè)置組件的TextAlign樣式為center,使得組件文字居中顯示。

(4) 再選中畫布上的Text組件,拖動(dòng)放大。

71b3c5ec-d4b5-11ec-bce3-dac502259ad0.gif

圖7 添加文本

步驟4:添加Button按鈕組件:

接下來我們?cè)谖谋鞠旅嫣砑覤utton組件,為頁面增加一個(gè)按鈕。

(1) 如圖8所示,選中UI Control中的Button組件,將其拖至Text組件下面。

(2) 點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)Button組件的Value屬性為"一鍵入門"。

(3) 點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo) (Feature),設(shè)置組件的FontSize樣式為40px,使得其文字放大;再選中畫布上的Button組件,拖動(dòng)放大。

71fb039e-d4b5-11ec-bce3-dac502259ad0.gif

圖8 添加按鈕

步驟5:查看預(yù)覽效果:

如圖9所示,所有步驟完成后,打開預(yù)覽器查看效果。

724ea8be-d4b5-11ec-bce3-dac502259ad0.gif

圖9 第一個(gè)預(yù)覽效果圖

簡(jiǎn)單幾步就完成第一個(gè)頁面開發(fā),是不是超級(jí)簡(jiǎn)單?接下來讓我們一起開發(fā)第二個(gè)頁面。

4. 開發(fā)第二個(gè)頁面

在開發(fā)第二個(gè)頁面之前需要先創(chuàng)建第二個(gè)頁面的second.js和second.visual文件,用于存儲(chǔ) 第二個(gè)頁面的邏輯和數(shù)據(jù)。如圖10所示,右鍵點(diǎn)擊pages文件夾,選擇New >Visual,命名為second,單擊Finish,就完成了第二個(gè)頁面的second.js和second.visual文件的創(chuàng)建。

7291b410-d4b5-11ec-bce3-dac502259ad0.png

圖10 第二個(gè)頁面的second.js和second.visual文件

由于第二個(gè)頁面的第一個(gè)頁面的開發(fā)步驟一模一樣,故此處不再贅述,直接為大家展示第二個(gè)頁面效果(如圖11所示):

72da7132-d4b5-11ec-bce3-dac502259ad0.gif

圖11 第二個(gè)頁面效果圖

兩個(gè)頁面完成之后,那么如何實(shí)現(xiàn)兩個(gè)頁面之間的跳轉(zhuǎn)呢?請(qǐng)繼續(xù)往下看。

5. 第一個(gè)頁面的跳轉(zhuǎn)

在第一個(gè)頁面中,將跳轉(zhuǎn)按鈕綁定onclick方法,點(diǎn)擊按鈕時(shí),即可跳轉(zhuǎn)到第二頁。操作如下:

(1) 首先需要在index.viusal中,給畫布上的Button組件選擇onclick方法。操作如圖12所示,打開index.visual,選中畫布上的Button組件。點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),鼠標(biāo)點(diǎn)擊Click事件的輸入框,選擇onclick方法。

731514f4-d4b5-11ec-bce3-dac502259ad0.gif

圖12 onclick設(shè)置

(2) 然后在index.js當(dāng)中綁定onclick方法,并在onclick方法中寫入router模塊,index.js代碼如下:

import router from '@system.router'; export default { // 綁定onclick方法onclick () { // 寫入router模塊 router.push({ uri: 'pages/second/second', // 指定要跳轉(zhuǎn)的頁面 }) }}

(左右滑動(dòng),查看更多)

完成上述兩步后,即可實(shí)現(xiàn)從第一個(gè)頁面跳轉(zhuǎn)到第二個(gè)頁面。

6. 第二個(gè)頁面的返回

接下來我們看下如何從第二個(gè)頁面返回到第一個(gè)頁面,和上一個(gè)跳轉(zhuǎn)類似,在第二個(gè)頁面中,返回按鈕綁定back方法,點(diǎn)擊按鈕時(shí),即可返回到第一頁。操作如下:

(1) 如圖13所示,首先打開second.visual,選中畫布上的Button組件,點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),點(diǎn)擊Click事件的輸入框,選擇back。

736daca4-d4b5-11ec-bce3-dac502259ad0.gif

圖13 back設(shè)置

(2) 然后在second.js中綁定back方法,并在back方法中寫入router模塊,second.js 代碼如下:

import router from '@system.router'; export default { // 綁定back方法back(){ // 寫入router模塊 router.back() }}

(左右滑動(dòng),查看更多)

7. 查看最終效果

至此,我們的兩個(gè)頁面已經(jīng)開發(fā)好,頁面跳轉(zhuǎn)也已經(jīng)設(shè)置好,接下來就可以點(diǎn)擊預(yù)覽器查看最終效果啦(如圖14所示)。

739d7fb0-d4b5-11ec-bce3-dac502259ad0.gif

圖14 最終效果

四、結(jié)語 以上就是使用低代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的頁面跳轉(zhuǎn)功能的全部介紹啦,感興趣的小伙伴趕緊動(dòng)手嘗試一下吧,期待大家用低代碼開發(fā)出更多精彩、有趣的應(yīng)用。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4671

    瀏覽量

    67770
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29739

原文標(biāo)題:小白福利!教你用低代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的頁面跳轉(zhuǎn)功能

文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    華為云代碼 AstroZero 技巧教學(xué) 2:輪播組件的魅力 玩轉(zhuǎn)視覺營(yíng)銷

    數(shù)字化的今天,如何讓網(wǎng)站訪問者停留更久、互動(dòng)更多,并最終轉(zhuǎn)化為忠實(shí)客戶? 答案是:視覺營(yíng)銷。 華為云代碼Astro Zero深知這點(diǎn),在Astro Zero的高級(jí)頁面設(shè)計(jì)中,我們引
    的頭像 發(fā)表于 09-13 16:29 ?208次閱讀
    華為云<b class='flag-5'>低</b><b class='flag-5'>代碼</b> AstroZero 技巧教學(xué) 2:輪播組件的魅力 玩轉(zhuǎn)視覺營(yíng)銷

    鴻蒙開發(fā):【頁面棧及任務(wù)鏈】

    單個(gè)UIAbility組件可以實(shí)現(xiàn)多個(gè)頁面,并在多個(gè)頁面之間跳轉(zhuǎn),這種UIAbility組件內(nèi)部的頁面
    的頭像 發(fā)表于 06-14 10:10 ?234次閱讀
    鴻蒙開發(fā):【<b class='flag-5'>頁面</b>棧及任務(wù)鏈】

    鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)頁面間的跳轉(zhuǎn)

    基于Stage模型下的Ability開發(fā),實(shí)現(xiàn)Ability內(nèi)頁面間的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 06-03 20:43 ?188次閱讀
    鴻蒙Ability Kit(程序框架服務(wù))【Ability內(nèi)<b class='flag-5'>頁面</b>間的<b class='flag-5'>跳轉(zhuǎn)</b>】

    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility內(nèi)和UIAbility間頁面跳轉(zhuǎn)

    基于Stage模型下的UIAbility開發(fā),實(shí)現(xiàn)UIAbility內(nèi)和UIAbility間頁面跳轉(zhuǎn)
    的頭像 發(fā)表于 06-03 14:13 ?536次閱讀
    鴻蒙Ability Kit(程序框架服務(wù))【UIAbility內(nèi)和UIAbility間<b class='flag-5'>頁面</b>的<b class='flag-5'>跳轉(zhuǎn)</b>】

    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【 編寫第一個(gè)ArkUI-X應(yīng)用】

    通過構(gòu)建個(gè)簡(jiǎn)單的ArkUI頁面跳轉(zhuǎn)示例,快速了解資源創(chuàng)建引用,路由代碼編寫和UI布局編寫等應(yīng)用
    的頭像 發(fā)表于 05-21 17:36 ?469次閱讀
    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【 編寫第<b class='flag-5'>一個(gè)</b>ArkUI-X應(yīng)用】

    請(qǐng)問怎么基于stm32實(shí)現(xiàn)IAP功能

    以下boot leader 是設(shè)想最簡(jiǎn)單功能,就是跳轉(zhuǎn)到下塊程序地址為0x08008000,截圖: 然后APP是從0x0800 8000 開始的,也在網(wǎng)絡(luò)上的教程更改了偏移,但是
    發(fā)表于 05-20 06:59

    HarmonyOS開發(fā)案例:【使用List組件實(shí)現(xiàn)設(shè)置項(xiàng)】

    使用List組件、Toggle組件以及Router接口,實(shí)現(xiàn)個(gè)簡(jiǎn)單的設(shè)置頁,點(diǎn)擊將跳轉(zhuǎn)到對(duì)應(yīng)的詳細(xì)設(shè)置
    的頭像 發(fā)表于 05-10 17:01 ?767次閱讀
    HarmonyOS開發(fā)案例:【使用List組件<b class='flag-5'>實(shí)現(xiàn)</b>設(shè)置項(xiàng)】

    HarmonyOS開發(fā)案例:【UIAbility內(nèi)和UIAbility間頁面跳轉(zhuǎn)

    基于Stage模型下的UIAbility開發(fā),實(shí)現(xiàn)UIAbility內(nèi)和UIAbility間頁面跳轉(zhuǎn)。
    的頭像 發(fā)表于 05-09 15:06 ?1098次閱讀
    HarmonyOS開發(fā)案例:【UIAbility內(nèi)和UIAbility間<b class='flag-5'>頁面</b>的<b class='flag-5'>跳轉(zhuǎn)</b>】

    HarmonyOS開發(fā)案例:【Ability內(nèi)頁面間的跳轉(zhuǎn)

    基于Stage模型下的Ability開發(fā),實(shí)現(xiàn)Ability內(nèi)頁面間的跳轉(zhuǎn)和數(shù)據(jù)傳遞。
    的頭像 發(fā)表于 05-09 10:39 ?400次閱讀
    HarmonyOS開發(fā)案例:【Ability內(nèi)<b class='flag-5'>頁面</b>間的<b class='flag-5'>跳轉(zhuǎn)</b>】

    OpenHarmony實(shí)例應(yīng)用:【常用組件和容器代碼

    基于ArkTS語言的代碼開發(fā)方式實(shí)現(xiàn)個(gè)簡(jiǎn)單實(shí)例
    的頭像 發(fā)表于 04-14 09:27 ?687次閱讀
    OpenHarmony實(shí)例應(yīng)用:【常用組件和容器<b class='flag-5'>低</b><b class='flag-5'>代碼</b>】

    何用STM32定時(shí)器實(shí)現(xiàn)個(gè)周期輸出PWM2的波形?

    請(qǐng)教各位如何用STM32定時(shí)器實(shí)現(xiàn)個(gè)周期輸出PWM2的波形呢(-高--高-
    發(fā)表于 04-03 06:39

    鴻蒙OS開發(fā)實(shí)例:【頁面傳值跳轉(zhuǎn)

    本篇主要介紹如何在HarmonyOS中,在頁面跳轉(zhuǎn)之間如何傳值 HarmonyOS 的頁面指的是帶有@Entry裝飾器的文件,其不能獨(dú)自存在,必須依賴UIAbility這樣的組件容器 如下是官方關(guān)于State模型開發(fā)模式
    的頭像 發(fā)表于 03-29 20:16 ?1986次閱讀
    鴻蒙OS開發(fā)實(shí)例:【<b class='flag-5'>頁面</b>傳值<b class='flag-5'>跳轉(zhuǎn)</b>】

    招就行—鴻蒙OS 編寫第一個(gè)頁面

    在 Java UI 框架中,提供了兩種編寫布局的方式:在XML中聲明UI布局和在代碼中創(chuàng)建布局。這兩種方式創(chuàng)建出的布局沒有本質(zhì)差別,為了熟悉兩種方式,我們將通過 XML 的方式編寫第一個(gè)頁面,通過
    的頭像 發(fā)表于 01-26 18:01 ?641次閱讀
    <b class='flag-5'>一</b>招就行—鴻蒙OS 編寫第<b class='flag-5'>一個(gè)</b><b class='flag-5'>頁面</b>

    何用萬界星空科技代碼平臺(tái)快速開發(fā)個(gè)MES系統(tǒng)?

    如今,越來越多的企業(yè)選擇代碼開發(fā)平臺(tái),讓企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型。但是你好奇“代碼開發(fā)平臺(tái)”能做什么嗎?“
    的頭像 發(fā)表于 12-08 11:39 ?471次閱讀
    如<b class='flag-5'>何用</b>萬界星空科技<b class='flag-5'>低</b><b class='flag-5'>代碼</b>平臺(tái)快速開發(fā)<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>MES系統(tǒng)?

    何用BUCK電路簡(jiǎn)單實(shí)現(xiàn)個(gè)可靠的負(fù)電源?

    何用BUCK電路簡(jiǎn)單實(shí)現(xiàn)個(gè)可靠的負(fù)電源?
    的頭像 發(fā)表于 12-05 15:12 ?674次閱讀
    如<b class='flag-5'>何用</b>BUCK電路<b class='flag-5'>簡(jiǎn)單</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>可靠的負(fù)電源?