小白福利!教你用低代碼實現一個簡單的頁面跳轉功能

来源:https://www.cnblogs.com/HarmonyOSDev/archive/2022/05/16/16277778.html
-Advertisement-
Play Games

本文為大家展示如何用低代碼實現一個簡單的頁面跳轉功能,讓你一看就會,一做就對! ...


 

一、介紹

 

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地址:
https://developer.harmonyos.com/cn/develop/deveco-studio#download_beta_openharmony


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 最終效果

四、結語


以上就是使用低代碼實現一個簡單的頁面跳轉功能的全部介紹啦,感興趣的小伙伴趕緊動手嘗試一下吧,期待大家用低代碼開發出更多精彩、有趣的應用。

 

 

搜索

複製


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言: 這是《VMware 虛擬機圖文安裝和配置 Rocky Linux 8.5 教程》一文的姐妹篇教程,如果你需要閱讀它,請點擊這裡。 2020 年,CentOS 宣佈:計劃未來將重心從 CentOS Linux 轉移到 CentOS Stream。CentOS 8 的生命周期已於 2021 年 ...
  • 一、Azkaban API概述 通常,企業里一般不用使用web UI去設置或者執行任務,只是單純的在頁面上查看任務或者排查問題,更多的是通過Azkaban API去提交執行任務計劃。Azkaban提供了一些常用的API操作,可以通過curl或其他HTTP請求客戶端訪問。但是API調用都需要首先進行適 ...
  • 導讀: 美團是一個生活服務領域的平臺,需要大量知識來理解用戶的搜索意圖,同時對於商家側我們也需要利用現有的知識對海量信息進行挖掘與提取,進而優化用戶體驗。今天分享的主題是知識圖譜在美團推薦場景中的應用。主要包括以下幾方面內容: 美團知識圖譜介紹 美團推薦場景介紹 美團推薦中的知識應用 總結與展望 - ...
  • 大家好,我是大D。 不知是否有小伙伴們疑問,為什麼列式存儲會廣泛地應用在 OLAP 領域,和行式存儲相比,它的優勢在哪裡?今天我們一起來對比下這兩種存儲方式的差別。 其實,列式存儲並不是一項新技術,最早可以追溯到 1983 年的論文 Cantor。然而,受限於早期的硬體條件和應用場景,傳統的事務型數 ...
  • hi,大家好,我是大D。今天咱們繼續深挖一下 HBase 的架構組成。 Hbase 作為 NoSQL 資料庫的代表,屬於三駕馬車之一 BigTable 的對應實現,HBase 的出現很好地彌補了大數據快速查詢能力的空缺。在前面咱們也有介紹過 HBase 的數據模型,感興趣的小伙伴可以翻看下。談談你對 ...
  • 本文介紹什麼是 SQL 子查詢,如何使用它們。子查詢常用於 WHERE 子句的 IN 操作符中,以及用來填充計算列。 一、子查詢 SELECT 語句是 SQL 的查詢。我們迄今為止所看到的所有 SELECT 語句都是簡單查詢,即從單個資料庫表中檢索數據的單條語句。 查詢(query) 任何 SQL ...
  • 資料庫升級,是一項讓人喜憂參半的工程。喜的是,通過升級,可以享受新版本帶來的新特性及性能提升。憂的是,新版本可能與老的版本不相容,不相容主要體現在以下三方面: 語法不相容。 語義不相容。同一個SQL,在新老版本執行結果不一致。 新版本的查詢性能更差。 所以,在對線上資料庫進行升級之前,一般都會在測試 ...
  • 本文介紹如何使用 SQL GROUP BY 子句分組數據,以便彙總表內容的子集。這涉及兩個新 SELECT 語句子句:GROUP BY 子句和 HAVING 子句。 一、數據分組 從 如何使用 SQL AVG、COUNT、MAX、MIN 和 SUM 彙總數據 中得知,使用 SQL 聚集函數可以彙總數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...