@Component
標簽修飾UI,相當于Android的view,所有的UI組件都要使用@Component標簽
@Entry標簽
表明當前是一個頁面,不是一個視圖。多個組件組合時只能有一個@Entry標簽,被該標簽修飾后頁面才會有生命周期
import router from '@ohos.router'
@Entry
@Component
struct Login {
@State title: string = '登錄頁面'
build() {
Row() {
Column() {
Text(this.title).fontSize(20)
.fontWeight(FontWeight.Bold)
.textAlign(TextAlign.Center)
.width('100%').margin({top:10})
Button() {
Text('返回')
.fontSize(18)
.fontWeight(FontWeight.Bold)
}.type(ButtonType.Capsule)
.padding({top:5,bottom:5,left:10,right:10})
.margin({top:20})
.onClick(()=>{
try{
router.back()
}catch (err){
console.error("錯誤="+err.code +" message="+err.message)
}
})
}
}.width('100%')
}
onPageShow(){
//頁面每次顯示時觸發(fā)
}
onPageHide(){
//頁面每次隱藏時觸發(fā)
}
onBackPress(){
//用戶點擊返回按鈕時觸發(fā)
}
aboutToAppear(){
//在執(zhí)行build函數(shù)之前執(zhí)行
}
aboutToDisappear(){
//組件即將銷毀時執(zhí)行
}
}
@Builder標簽
使用該標簽的方法會自動構建一個組件
- 全局方式
@Builder function xxx{}
- 組件內方式
@Builder xx{}
需要傳遞參數(shù)時采用引用傳遞 $$
//方法
@Builder function builderFunc($$:{showText:string}){
Text('全局 builder方法 '+$$.showText)
.fontSize(18)
.fontColor("#333333")
}
//調用
builderFunc({showText:'全局豬頭'})
@BuilderParam標簽
/**
* 全局styles樣式
*/
@Styles function globalFancy(){
.width(100)
.height(150)
.backgroundColor(Color.Pink)
}
@Builder function builderFunc($$:{showText:string}){
Text('全局 builder方法 '+$$.showText)
.fontSize(18)
.fontColor("#333333")
}
@Component
struct testBuildParam{
@BuilderParam param:()=>void
build(){
Column(){
this.param()
}
}
}
//頁面入口
@Entry
@Component
struct StylesPage{
@State heightNum:number = 100
@Styles selfFancy(){
.width(120)
.height(this.heightNum)
.backgroundColor(Color.Yellow)
.onClick(()=>{
this.heightNum = 180
})
}
@Builder builderSelf(){
Text("組件內方法")
.fontSize(15)
.fontColor("#999999")
.margin({top:20})
}
build(){
Column({space:10}){
Text("全局引用styles")
.globalFancy()
.fontSize(25)
Text("組件內的style")
.selfFancy()
.fontSize(18)
this.builderSelf()
builderFunc({showText:'全局豬頭'})
testBuildParam({param:this.builderSelf})
}
}
}
審核編輯 黃宇
HTML 1800 字數(shù) 121 段落
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
60文章
2620瀏覽量
44052
發(fā)布評論請先 登錄
相關推薦
熱點推薦
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù)
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數(shù) ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、生命周期階段: 創(chuàng)建階段 build
【HarmonyOS 5】鴻蒙星閃NearLink詳解
與使用: 點擊跳轉官方文檔地址 鴻蒙星閃(NearLink)的基本接入代碼示例,包含設備發(fā)現(xiàn)、連接和數(shù)據(jù)傳輸?shù)暮诵牧鞒蹋?// NearLi

【 HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解
【 HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解 ##鴻蒙開發(fā)能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言:移動開發(fā)

鴻蒙5開發(fā)寶藏案例分享---Web頁面內點擊響應時延分析
鴻蒙Web性能優(yōu)化寶藏指南!那些官方沒明說的實戰(zhàn)技巧
各位鴻蒙開發(fā)者好!最近在排查Web頁面卡頓時,意外在HarmonyOS開發(fā)者文檔里挖到性能優(yōu)化的寶藏案例!這些實戰(zhàn)經驗藏在「應用質量 &
發(fā)表于 06-12 17:09
鴻蒙5開發(fā)寶藏案例分享---性能體驗設計
小伙伴可能沒注意到。今天我就把這些干貨整理出來,配上代碼示例,讓你輕松打造60幀無卡頓的鴻蒙應用!
一、感知流暢性核心原則
官方文檔強調: 流暢≠高性能 ,而是操作響應、動效、心理預期的完美配合。舉個
發(fā)表于 06-12 16:45
如何在KaihongOS操作系統(tǒng)中寫一個動態(tài)的頁面
/profile目錄,在main_pages.json文件中的“src”下配置第二個頁面的路由“pages/Second”。示例如下:
{"src": [ "
發(fā)表于 04-25 06:42
DialogHub上線OpenHarmony開源社區(qū),高效開發(fā)鴻蒙應用彈窗
作為鴻蒙應用開發(fā)者,在使用ArkUI現(xiàn)有能力進行彈窗開發(fā)時,總會遇到一些讓人糾結的交互問題:應用內進行消息提示時,既要求消息內容支持圖文混排,又要求彈窗本身不能打斷用戶交互(頁面滑動、頁面
發(fā)表于 04-03 17:30
Get這個秘籍,鴻蒙原生應用頁面滑動絲滑無比
在鴻蒙應用開發(fā)中,部分應用頁面在滑動時會出現(xiàn)白塊或白屏的問題,不僅困擾開發(fā)者,還直接影響用戶體驗。針對這一痛點,華為近期分別推出了針對鴻蒙原生應用ArkUI頁面及Web
發(fā)表于 03-06 14:41
鴻蒙原生頁面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應用
隨著HarmonyOS NEXT的正式推出,鴻蒙原生應用開發(fā)熱度高漲,數(shù)量激增。但在三方應用鴻蒙化進程中,性能問題頻出。為此,HarmonyOS NEXT推出了一整套原生頁面高性能解決方案,包括
發(fā)表于 01-02 18:00
《HarmonyOS第一課》煥新升級,賦能開發(fā)者快速掌握鴻蒙應用開發(fā)
、IDE環(huán)境搭建、ArkTS基礎語法等知識,幫助開發(fā)者掌握基本頁面開發(fā)與數(shù)據(jù)管理基礎,完成簡單應用及頁面的開發(fā)并參與文檔與示例代碼的編寫,為深入學習筑牢根基。 中級課程面向有獨立開發(fā)能力的開發(fā)者,使其
發(fā)表于 01-02 14:24
HarmonyOS Web頁面加載的原理和優(yōu)化方法
在移動互聯(lián)網(wǎng)時代,應用的頁面渲染速度對于用戶體驗至關重要。相對于原生頁面,Web頁面的性能存在多方面的技術挑戰(zhàn)。本文以HarmonyOS的ArkWeb組件為基礎,介紹了Web頁面加載中

鴻蒙原生開發(fā)手記:01-元服務開發(fā)
簡介
元服務是鴻蒙中的一種輕量應用形態(tài),無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。
元服務使用原生開發(fā),是系統(tǒng)級提供的,無論從易用性、性能、體驗上,都要比小程序好
發(fā)表于 11-14 17:28
鴻蒙Flutter實戰(zhàn):07混合開發(fā)
參考資料
撰寫雙端平臺代碼(插件編寫實現(xiàn))
鴻蒙Flutter功能開發(fā)
鴻蒙add-to-app示例
如何使用混合開發(fā) module
【flutter鴻蒙技術交流】
目前 Flu
發(fā)表于 10-23 16:00
鴻蒙Flutter實戰(zhàn):04-如何使用DevTools調試Webview
# 鴻蒙 Flutter 如何使用 DevTools 調試 Webview
在《鴻蒙 Flutter 開發(fā)中集成 Webview》,介紹了如果在 Flutter 中集成 Webview. 本文
發(fā)表于 10-22 21:53
Linux內核中的頁面分配機制
Linux內核中是如何分配出頁面的,如果我們站在CPU的角度去看這個問題,CPU能分配出來的頁面是以物理頁面為單位的。也就是我們計算機中常講的分頁機制。本文就看下Linux內核是如何管理,釋放和分配這些物理

評論