@Component
標(biāo)簽修飾UI,相當(dāng)于Android的view,所有的UI組件都要使用@Component標(biāo)簽
@Entry標(biāo)簽
表明當(dāng)前是一個(gè)頁(yè)面,不是一個(gè)視圖。多個(gè)組件組合時(shí)只能有一個(gè)@Entry標(biāo)簽,被該標(biāo)簽修飾后頁(yè)面才會(huì)有生命周期
import router from '@ohos.router'
@Entry
@Component
struct Login {
@State title: string = '登錄頁(yè)面'
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("錯(cuò)誤="+err.code +" message="+err.message)
}
})
}
}.width('100%')
}
onPageShow(){
//頁(yè)面每次顯示時(shí)觸發(fā)
}
onPageHide(){
//頁(yè)面每次隱藏時(shí)觸發(fā)
}
onBackPress(){
//用戶(hù)點(diǎn)擊返回按鈕時(shí)觸發(fā)
}
aboutToAppear(){
//在執(zhí)行build函數(shù)之前執(zhí)行
}
aboutToDisappear(){
//組件即將銷(xiāo)毀時(shí)執(zhí)行
}
}
@Builder標(biāo)簽
使用該標(biāo)簽的方法會(huì)自動(dòng)構(gòu)建一個(gè)組件
- 全局方式
@Builder function xxx{}
- 組件內(nèi)方式
@Builder xx{}
需要傳遞參數(shù)時(shí)采用引用傳遞 $$
//方法
@Builder function builderFunc($$:{showText:string}){
Text('全局 builder方法 '+$$.showText)
.fontSize(18)
.fontColor("#333333")
}
//調(diào)用
builderFunc({showText:'全局豬頭'})
@BuilderParam標(biāo)簽
對(duì)應(yīng)@Builder標(biāo)簽,類(lèi)似于java的接口傳遞
/**
* 全局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()
}
}
}
//頁(yè)面入口
@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("組件內(nèi)方法")
.fontSize(15)
.fontColor("#999999")
.margin({top:20})
}
build(){
Column({space:10}){
Text("全局引用styles")
.globalFancy()
.fontSize(25)
Text("組件內(nèi)的style")
.selfFancy()
.fontSize(18)
this.builderSelf()
builderFunc({showText:'全局豬頭'})
testBuildParam({param:this.builderSelf})
}
}
}
審核編輯 黃宇
HTML 1800 字?jǐn)?shù) 121 段落
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
鴻蒙
+關(guān)注
關(guān)注
60文章
2979瀏覽量
46020
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
基于Matter over Thread的照明應(yīng)用示例簡(jiǎn)要設(shè)置步驟
在Silicon Labs(芯科科技)近期更新的技術(shù)支持文檔頁(yè)面中,我們?cè)敿?xì)描述了運(yùn)行一個(gè)基于Matter over Thread的照明應(yīng)用示例的簡(jiǎn)要設(shè)置步驟。
小藝開(kāi)放平臺(tái)快速創(chuàng)建鴻蒙智能體
1.登錄小藝開(kāi)放平臺(tái),進(jìn)入小藝智能體平臺(tái)頁(yè)面,點(diǎn)擊立即體驗(yàn),進(jìn)入創(chuàng)建頁(yè)面。
2.點(diǎn)擊左上角【+創(chuàng)建智能體】按鈕,即可進(jìn)入智能體創(chuàng)建流程。
3.擊【+創(chuàng)建】后,會(huì)進(jìn)入到標(biāo)準(zhǔn)創(chuàng)建頁(yè)面,在這里你可以直接
發(fā)表于 01-19 11:00
以龍企招為例,淺談鴻蒙應(yīng)用開(kāi)發(fā)者激勵(lì)計(jì)劃 2025 參與心得
2025 年,我們帶著 “龍企招” 鴻蒙應(yīng)用,報(bào)名參與了鴻蒙應(yīng)用開(kāi)發(fā)者激勵(lì)計(jì)劃。原本滿(mǎn)懷期待地提交上架申請(qǐng),卻收到了審核未通過(guò)的通知。這次經(jīng)歷雖有遺憾,卻讓我們深刻體會(huì)到鴻蒙生態(tài)對(duì)應(yīng)用質(zhì)量的嚴(yán)格要求
發(fā)表于 12-12 10:17
觸覺(jué)智能RK3576開(kāi)發(fā)板OpenHarmony開(kāi)源鴻蒙系統(tǒng)USB控制傳輸功能示例
本文介紹OpenHarmony開(kāi)源鴻蒙系統(tǒng)的USB控制傳輸功能實(shí)現(xiàn)及相關(guān)代碼示例,基于觸覺(jué)智能RK3576開(kāi)發(fā)板PurplePiOH2演示。OpenHarmony的USB通信介紹實(shí)現(xiàn)
曝鴻蒙6.0系統(tǒng)星閃藍(lán)牙入口合并
有數(shù)碼博主爆料稱(chēng)在華為鴻蒙 HarmonyOS 6.0 系統(tǒng) Beta3 版本的部分場(chǎng)景操作視頻中可以看到,星閃和藍(lán)牙的功能入口和功能頁(yè)面已經(jīng)合并。 ?
知乎開(kāi)源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用頁(yè)面“秒開(kāi)”
近日,知乎在Gitee平臺(tái)開(kāi)源了其自研的鴻蒙“智能預(yù)渲染框架”,并將該框架的Har包上架到OpenHarmony三方庫(kù)中心倉(cāng)。該框架在鴻蒙平臺(tái)首創(chuàng)“智能預(yù)渲染”技術(shù),旨在破解應(yīng)用復(fù)雜頁(yè)面加載緩慢
【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)
【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、生命周期階段: 創(chuàng)建階段 build
【HarmonyOS 5】鴻蒙星閃NearLink詳解
與使用: 點(diǎn)擊跳轉(zhuǎn)官方文檔地址 鴻蒙星閃(NearLink)的基本接入代碼示例,包含設(shè)備發(fā)現(xiàn)、連接和數(shù)據(jù)傳輸?shù)暮诵牧鞒蹋?// NearLi
【 HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解
【 HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言:移動(dòng)開(kāi)發(fā)
鴻蒙5開(kāi)發(fā)寶藏案例分享---Web頁(yè)面內(nèi)點(diǎn)擊響應(yīng)時(shí)延分析
鴻蒙Web性能優(yōu)化寶藏指南!那些官方?jīng)]明說(shuō)的實(shí)戰(zhàn)技巧
各位鴻蒙開(kāi)發(fā)者好!最近在排查Web頁(yè)面卡頓時(shí),意外在HarmonyOS開(kāi)發(fā)者文檔里挖到性能優(yōu)化的寶藏案例!這些實(shí)戰(zhàn)經(jīng)驗(yàn)藏在「應(yīng)用質(zhì)量 &
發(fā)表于 06-12 17:09
鴻蒙5開(kāi)發(fā)寶藏案例分享---性能體驗(yàn)設(shè)計(jì)
小伙伴可能沒(méi)注意到。今天我就把這些干貨整理出來(lái),配上代碼示例,讓你輕松打造60幀無(wú)卡頓的鴻蒙應(yīng)用!
一、感知流暢性核心原則
官方文檔強(qiáng)調(diào): 流暢≠高性能 ,而是操作響應(yīng)、動(dòng)效、心理預(yù)期的完美配合。舉個(gè)
發(fā)表于 06-12 16:45
KaihongOS操作系統(tǒng):頁(yè)面的生命周期介紹
頁(yè)面的生命周期
在KaihongOS中,學(xué)習(xí)頁(yè)面的生命周期前需要先了解自定義組件。
1. 自定義組件(Component)
自定義組件是通過(guò)@Component裝飾的UI單元,可以組合多個(gè)系統(tǒng)
發(fā)表于 04-25 08:18
如何在KaihongOS操作系統(tǒng)中寫(xiě)一個(gè)動(dòng)態(tài)的頁(yè)面
/profile目錄,在main_pages.json文件中的“src”下配置第二個(gè)頁(yè)面的路由“pages/Second”。示例如下:
{"src": [ "
發(fā)表于 04-25 06:42
DevEco Studio 寫(xiě)一個(gè)簡(jiǎn)單的頁(yè)面
寫(xiě)一個(gè)簡(jiǎn)單的頁(yè)面
說(shuō)明:
為確保運(yùn)行效果,本文及之后的文檔示例都將以使用DevEco Studio 4.1 Release版本為例。
我們?cè)跇?gòu)建第一個(gè)應(yīng)用程序中新建了一個(gè)名為
發(fā)表于 04-24 07:36
DialogHub上線OpenHarmony開(kāi)源社區(qū),高效開(kāi)發(fā)鴻蒙應(yīng)用彈窗
作為鴻蒙應(yīng)用開(kāi)發(fā)者,在使用ArkUI現(xiàn)有能力進(jìn)行彈窗開(kāi)發(fā)時(shí),總會(huì)遇到一些讓人糾結(jié)的交互問(wèn)題:應(yīng)用內(nèi)進(jìn)行消息提示時(shí),既要求消息內(nèi)容支持圖文混排,又要求彈窗本身不能打斷用戶(hù)交互(頁(yè)面滑動(dòng)、頁(yè)面
發(fā)表于 04-03 17:30
鴻蒙頁(yè)面示例
評(píng)論