女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

HarmonyOS Next V2 @Event

萬少 ? 來源:jf_22972444 ? 作者:jf_22972444 ? 2025-03-31 09:42 ? 次閱讀

HarmonyOS Next V2 @Event

背景

在上一節(jié)中,我們針對(duì)父子組件,講了關(guān)于傳遞數(shù)據(jù)的知識(shí)。我們了解到

  1. @Local 是管理自己內(nèi)部的數(shù)據(jù)的,
  2. @Param 是負(fù)責(zé)接收父組件的數(shù)據(jù)的,而且子自己內(nèi)部不能直接修改

按照一個(gè)組件最基本的功能, 既能接收外部傳入的數(shù)據(jù)也要向外部傳遞數(shù)據(jù) 。那么 @Event 修飾符就是來解決這個(gè)問題的了。

介紹

@Event 是 子組件向父組件傳遞數(shù)據(jù)的技術(shù),它只能用在 @ComponentV2 修改的組件上,其中的思想是

  1. 完成修改數(shù)據(jù)的操作,還是放在父組件內(nèi)部,通過定義一個(gè)函數(shù) func 來實(shí)現(xiàn)
  2. 在父組件調(diào)用子組件的時(shí)候,也順帶把這個(gè)函數(shù) func 傳遞給子組件
  3. 子組件在內(nèi)部 使用 @Event 來修飾 該函數(shù),并且在需要的使用直接調(diào)用即可

父組件

  1. 定義內(nèi)部數(shù)據(jù) num
  2. 定義修改內(nèi)部數(shù)據(jù)num的函數(shù) func
  3. 使用子組件時(shí),把numfunc都傳遞過去

@Entry
@ComponentV2
struct Index {
@Local num: number = 100
// 自己定義的函數(shù) 負(fù)責(zé)修改數(shù)據(jù), 該函數(shù)也要傳遞給子組件
func = (unit: number) => {
this.num -= unit
}

build() {
Column() {
Button("父組件 修改" + this.num)
.onClick(() => {
this.num++
})
// 使用子組件,并且傳遞數(shù)據(jù) 和 傳遞函數(shù)
Son({ num: this.num, func: this.func })
.padding(10)
}
.width("100%")

}
}

## 子組件

1. 使用 `@Param` 接收父組件傳遞的 `num`
2. 使用`@Event` 接收父組件傳遞的函數(shù) `func`
3. 定義點(diǎn)擊事件的處理函數(shù) `onfunc`,內(nèi)部直接調(diào)用父組件傳遞過來的函數(shù)

@ComponentV2
struct Son {
@Param num: number = 0
@Event func: (num: number) => void = () => {
}
onfunc = () => {
this.func(5)
}

build() {

Column() {
  Button(`子組件 ${this.num}`)

  Button("子組件修改父組件中的狀態(tài)")
    .onClick(this.onfunc)
}
.border({
  width: 1,
  style: BorderStyle.Dashed
})

}
}

## 流程

![image-20240723105343511](https://wsy996.obs.cn-east-3.myhuaweicloud.com/HarmonyOS%20Next%20V2%20%40Event/readme.assets/image-20240723105343511.png?x-image-process=style/style-8860)

## @Once

`@Once``@Param`作用類似,都可以表示接收父組件傳遞過來的數(shù)據(jù),但是也存在區(qū)別

1. `@Once` 只會(huì)接收第一次父組件傳遞過來的數(shù)據(jù),后續(xù)父組件的數(shù)據(jù)修改,不會(huì)同步到 `@Once`修改的變量上
2. `@Once` 需要和 `@Param` 一起搭配使用,因?yàn)?`@Param` 修飾的是父組件傳遞給子組件的變量,該變量不能直接被修改。所以`@Once`修飾的變量,也不能在子組件內(nèi)部直接修改。

@ComponentV2
struct Son {
@Once @Param num: number = 0

build() {
Column() {
Button(子組件 ${this.num})
.onClick(() => {
this.num++ // 修改無效
})
}
.border({
width: 1,
style: BorderStyle.Dashed
})
}
}

@Entry
@ComponentV2
struct Index {
@Local num: number = 100

build() {
Column() {

Son({ num: this.num })
    .padding(10)
}
.width("100%")

}
}

![image-20240723110522686](https://wsy996.obs.cn-east-3.myhuaweicloud.com/HarmonyOS%20Next%20V2%20%40Event/readme.assets/image-20240723110522686.png?x-image-process=style/style-8860)

## 總結(jié)

1. `@Param` 表示父組件傳遞給子組件的數(shù)據(jù),當(dāng)父組件修改了,子組件會(huì)跟隨響應(yīng),同時(shí)子組件內(nèi)部不能直接修改 `@Param`修飾的變量
2. `@Event` 表示子組件想要修改父組件數(shù)據(jù)的一種技術(shù),它用來修改函數(shù),該函數(shù)是由父組件定義和傳遞給子組件的
3. `@Once` 必須和 `@Param` 搭配使用,表示父組件傳遞過來的數(shù)據(jù),只會(huì)第一次生效。

審核編輯 黃宇

聲明:本文內(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)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    2052

    瀏覽量

    32114
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS Next MQTT演示

    HarmonyOS Next MQTT演示
    發(fā)表于 11-07 16:54

    ST-LINK/V2 ST-LINK/V2ST-LINK / V2在調(diào)試器/編程器STM8和STM32

    電子發(fā)燒友網(wǎng)為你提供(ti)ST-LINK/V2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有ST-LINK/V2的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,ST-LINK/V2真值表,ST-LINK/V2
    發(fā)表于 05-21 00:05

    Kinect v2(Microsoft Kinect for Windows v2 )配置移動(dòng)電源解決方案

    Kinect v2配置移動(dòng)電源解決方案Kinect v2如果用于移動(dòng)機(jī)器人上(也可以是其他應(yīng)用場(chǎng)景),為方便有效地展開后續(xù)工作,為其配置移動(dòng)電源是十分必要的。一、選擇移動(dòng)電源Kinect v2原裝
    發(fā)表于 01-05 14:51 ?5次下載
    Kinect <b class='flag-5'>v2</b>(Microsoft Kinect for Windows <b class='flag-5'>v2</b> )配置移動(dòng)電源解決方案

    Kinect v2(Microsoft Kinect for Windows v2 )配置移動(dòng)電源解決方案

    Kinect v2(Microsoft Kinect for Windows v2 )配置移動(dòng)電源解決方案
    發(fā)表于 01-05 14:53 ?0次下載
    Kinect <b class='flag-5'>v2</b>(Microsoft Kinect for Windows <b class='flag-5'>v2</b> )配置移動(dòng)電源解決方案

    學(xué)習(xí)V2更新板開源分享

    電子發(fā)燒友網(wǎng)站提供《學(xué)習(xí)V2更新板開源分享.zip》資料免費(fèi)下載
    發(fā)表于 07-26 09:38 ?0次下載
    學(xué)習(xí)<b class='flag-5'>V2</b>更新板開源分享

    LED面板V2開源分享

    電子發(fā)燒友網(wǎng)站提供《LED面板V2開源分享.zip》資料免費(fèi)下載
    發(fā)表于 08-02 09:37 ?2次下載
    LED面板<b class='flag-5'>V2</b>開源分享

    智能BMS V2開源設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《智能BMS V2開源設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 08-08 11:38 ?18次下載
    智能BMS <b class='flag-5'>V2</b>開源設(shè)計(jì)

    Leaphy Motor shield V2開源

    電子發(fā)燒友網(wǎng)站提供《Leaphy Motor shield V2開源.zip》資料免費(fèi)下載
    發(fā)表于 08-22 15:41 ?0次下載
    Leaphy Motor shield <b class='flag-5'>V2</b>開源

    NodeMCU V2 Amica V3 Lolin的盾牌

    電子發(fā)燒友網(wǎng)站提供《NodeMCU V2 Amica V3 Lolin的盾牌.zip》資料免費(fèi)下載
    發(fā)表于 08-24 10:05 ?2次下載
    NodeMCU <b class='flag-5'>V2</b> Amica <b class='flag-5'>V</b>3 Lolin的盾牌

    悟空PCB徽章V2開源分享

    電子發(fā)燒友網(wǎng)站提供《悟空PCB徽章V2開源分享.zip》資料免費(fèi)下載
    發(fā)表于 10-31 11:06 ?0次下載
    悟空PCB徽章<b class='flag-5'>V2</b>開源分享

    V2 控制器的操作原理

    V2 控制器的操作原理
    發(fā)表于 11-14 21:08 ?1次下載
    <b class='flag-5'>V2</b> 控制器的操作原理

    淘寶與華為合作將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開發(fā)

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開發(fā)。
    的頭像 發(fā)表于 01-26 16:14 ?1421次閱讀

    華為HarmonyOS NEXT 10月8日開啟公測(cè)

    華為宣布,萬眾矚目的HarmonyOS NEXT操作系統(tǒng)將于10月8日正式開啟公測(cè),標(biāo)志著這一創(chuàng)新力作即將與廣大用戶見面。HarmonyOS NEXT作為華為自研操作系統(tǒng)的最新成果,不
    的頭像 發(fā)表于 09-24 15:41 ?1279次閱讀
    華為<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>NEXT</b> 10月8日開啟公測(cè)

    HarmonyOS Next V2 @Local 和@Param

    HarmonyOS Next V2 @Local 和@Param @Local 背景 @Local 是 harmony 應(yīng)用開發(fā)中的 v2 版本中 對(duì)標(biāo)**@State**的狀態(tài)管理修
    的頭像 發(fā)表于 04-02 18:27 ?286次閱讀
    <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>Next</b> <b class='flag-5'>V2</b> @Local 和@Param

    HarmonyOS Next V2 @Monitor 和@Computed

    HarmonyOS Next V2 @Monitor 和@Computed @Monitor 介紹 @Monitor 是狀態(tài)把管理 V2 版本中的用于監(jiān)聽狀態(tài)變量修改的技術(shù)。 它可以直
    的頭像 發(fā)表于 04-02 18:26 ?242次閱讀