在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

HarmonyOS Next V2 @Event

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

HarmonyOS Next V2 @Event

背景

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

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

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

介紹

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

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

父組件

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

@Entry
@ComponentV2
struct Index {
@Local num: number = 100
// 自己定義的函數(shù) 負責(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. 定義點擊事件的處理函數(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` 只會接收第一次父組件傳遞過來的數(shù)據(jù),后續(xù)父組件的數(shù)據(jù)修改,不會同步到 `@Once`修改的變量上
2. `@Once` 需要和 `@Param` 一起搭配使用,因為 `@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ù),當父組件修改了,子組件會跟隨響應(yīng),同時子組件內(nèi)部不能直接修改 `@Param`修飾的變量
2. `@Event` 表示子組件想要修改父組件數(shù)據(jù)的一種技術(shù),它用來修改函數(shù),該函數(shù)是由父組件定義和傳遞給子組件的
3. `@Once` 必須和 `@Param` 搭配使用,表示父組件傳遞過來的數(shù)據(jù),只會第一次生效。

審核編輯 黃宇

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

    關(guān)注

    79

    文章

    2005

    瀏覽量

    31682
收藏 人收藏

    評論

    相關(guā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ù)手冊,更有ST-LINK/V2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,ST-LINK/V2真值表,ST-LINK/V2
    發(fā)表于 05-21 00:05

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

    Kinect v2配置移動電源解決方案Kinect v2如果用于移動機器人上(也可以是其他應(yīng)用場景),為方便有效地展開后續(xù)工作,為其配置移動電源是十分必要的。一、選擇移動電源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> )配置移動電源解決方案

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

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

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

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

    LED面板V2開源分享

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

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

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

    Leaphy Motor shield V2開源

    電子發(fā)燒友網(wǎng)站提供《Leaphy Motor shield V2開源.zip》資料免費下載
    發(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ā)表于 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ā)表于 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啟動鴻蒙原生應(yīng)用開發(fā)

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

    華為HarmonyOS NEXT 10月8日開啟公測

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

    HarmonyOS Next V2 @Local 和@Param

    HarmonyOS Next V2 @Local 和@Param @Local 背景 @Local 是 harmony 應(yīng)用開發(fā)中的 v2 版本中 對標**@State**的狀態(tài)管理修
    的頭像 發(fā)表于 04-02 18:27 ?137次閱讀
    <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 ?126次閱讀
    主站蜘蛛池模板: 男同小黄文 | 国产美女精品三级在线观看 | 一级黄免费 | 亚洲伦理一区 | 色多多在线视频 | 国产在线色视频 | 艹逼视频免费观看 | 四虎东方va私人影库在线观看 | 久青草视频免费视频播放线路1 | 美女扒开尿囗给男生桶爽 | 韩国三级hd| 手机看片免费永久在线观看 | 日韩精品你懂的在线播放 | 51影院在线观看成人免费 | 你懂的在线免费观看 | 福利视频自拍 | 高清一区二区在线观看 | 精品国产_亚洲人成在线高清 | 免费看美女午夜大片 | 久久婷婷一区二区三区 | 5555kkkk香蕉在线观看 | 高h道具触手play肉男男 | 国产hs免费高清在线观看 | 午夜精品网站 | 五月婷婷丁香六月 | 中文在线三级中文字幕 | 高清视频一区 | 你懂的在线视频网站 | 国产精品永久免费自在线观看 | 免费网站毛片 | 色婷婷丁香六月 | 久久国产精品永久免费网站 | 手机看片精品国产福利盒子 | 久久婷婷色一区二区三区 | 狠狠操精品视频 | 国产永久免费爽视频在线 | 河南毛片 | 99在线国产视频 | 四虎影视永久在线精品免费播放 | 天堂资源在线官网bt | 三级视频网站在线观看播放 |