99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內不再提示

harmony OS NEXT-雙向數(shù)據綁定MVVM以及$$語法糖介紹

程奕紅 ? 來源:jf_34770892 ? 作者:jf_34770892 ? 2025-04-29 16:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

# 鴻蒙Harmony-雙向數(shù)據綁定MVVM以及$$語法糖介紹

## 1.1 雙向數(shù)據綁定概念

在鴻蒙(HarmonyOS)應用開發(fā)中,雙向數(shù)據改變(或雙向數(shù)據綁定)是一種讓數(shù)據·模型和UI組件之間保持同步的機制,當數(shù)據發(fā)生變化時,UI自動更新;反之,當用于通過UI代碼操作修改數(shù)據時,數(shù)據模型也會同步更新,這種機制簡化了開發(fā),減少了手動DOM或UI組件的代碼量,舉個簡單的例子,比如輸入框和變量的綁定,用戶輸入變量更新,變量在其他地方修改時輸入框的內容也發(fā)生變化

## 1.2雙向數(shù)據綁定步驟

1. @State裝飾器修飾數(shù)據
2. 通過@onchange事件去收集改變的值,并將新值賦值給原來變量,達到數(shù)據改變

![image-20250204215640443](https://i-blog.csdnimg.cn/img_convert/d21ea6a6e4aacffd3ba7182adcaf41ee.png)

## 1.3案例演示

* 代碼演示

```ts
@Entry
@Component
struct Test1 {
@State userName: string = '小程神'

build() {
Column({ space: 20 }) {
Text('通過onChange收集inputValue')
TextInput()
.border({
color: Color.Black,
width: 1
})
.onChange((value) => {
this.userName = value

})
Text('展示inputvalue')
TextInput({ text: this.userName })
.border({
width: 1,
color: Color.Black
})
}.height('100%')
.width('100%')
.padding(20)
}
}
```

* 效果展示

![img](https://i-blog.csdnimg.cn/img_convert/b88e33b8fbca425604ba8a375da3500e.gif)

* 總結
1. 數(shù)據發(fā)生變化 綁定text的值 –>視圖產生更新
2. 視圖產生事件 onChange事件 –>數(shù)據發(fā)生變化

## 1.4MVVM:$$語法糖

> 通過上述的onChange事件改變數(shù)據,其實還有更為簡便的一種方式可以實現(xiàn)雙向數(shù)據綁定

官方文檔上提供了以下組件實現(xiàn)雙向數(shù)據綁定的快捷方法

![image-20250204220418730](https://i-blog.csdnimg.cn/img_convert/6e65a77626dcd769feb2bbbbd572ac7e.png)

### 1.4.1案例演示

1. textInput演示

* 代碼展示

```ts
@Entry
@Component
struct Test2 {
@State message: string = 'Hello World';

build() {
Column({ space: 10 }) {
Text(this.message)
TextInput({ text: $$this.message })
Button('改變數(shù)據')
.onClick(() => {
this.message = '我的小貓暴脾氣'
})


}.width('100%')
.height('100%')
.padding(20)
}
}
```

* 效果展示

![img](https://i-blog.csdnimg.cn/img_convert/9af5d8ce2908e282801923739c5ef358.gif)

2. checkBox展示

* 代碼展示

```ts
Text(this.ischecked+'')
Checkbox()
.select($$this.ischecked)
```

* 效果展示

![img](https://i-blog.csdnimg.cn/img_convert/2472572ce8a6403fd6b4c450d5d33d53.gif)

3. Toggle展示

* 代碼展示

```
Text(this.isOn + '')
Toggle({
type: ToggleType.Switch,
isOn: $$this.isOn
})
```

* 案例演示

![img](https://i-blog.csdnimg.cn/img_convert/4023eb199737b45a6456cc7bf1332e17.gif)

4. 時間選擇器展示

* 代碼展示

```ts
Text(this.date.toDateString())
DatePicker({
selected:$$this.date
})
```

* 效果演示

![img](https://i-blog.csdnimg.cn/img_convert/09a3e7d999def616794b3f9bfe78270b.gif)

5.Select展示

* 代碼展示

```ts
Text('mySelect' + this.select)
Select([
{ value: 'vip' },
{ value: '綠鉆' },
{ value: '黃鉆' }
])
.value($$this.select)

```

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據綁定

    關注

    0

    文章

    3

    瀏覽量

    6155
  • 鴻蒙
    +關注

    關注

    60

    文章

    2620

    瀏覽量

    44060
  • Harmony
    +關注

    關注

    0

    文章

    108

    瀏覽量

    3020
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    幾種實現(xiàn)vue的數(shù)據雙向綁定的方法介紹

    vue的數(shù)據雙向綁定的實現(xiàn)
    發(fā)表于 07-29 08:33

    微信小程序數(shù)據雙向綁定

    微信小程序數(shù)據雙向綁定,了解小程序中.js文件中鉤子函數(shù):在加載小程序的時候首先調用onLoad()函數(shù),緊接著調用onShow函數(shù)來進行頁面展示,最后調用OnReady
    發(fā)表于 07-09 06:15

    什么是雙向數(shù)據綁定?

    什么是雙向數(shù)據綁定?什么是Object.definePropety?
    發(fā)表于 10-25 07:21

    AWTK-MVVM是什么?其功能有哪些

    AWTK-MVVM是一套為AWTK用C語言開發(fā),并支持各種腳本語言的MVVM框架,實現(xiàn)了數(shù)據綁定、命令綁定和窗口導航等基本功能,使用AWTK
    發(fā)表于 12-15 06:07

    淺談javascript技術的雙向數(shù)據綁定

    近幾年前端技術棧真是發(fā)展的太迅速了,從以前的針對dom操作的框架如jquery,ext.js等框架逐步過渡到當前的mvvm模式,讓前端開發(fā)者將注意力從dom操作逐漸解脫出來,專注于邏輯的實現(xiàn),個人認為開發(fā)效率至少提升了1倍,mvvm模式的一個核心便是
    發(fā)表于 10-29 11:49 ?4406次閱讀

    MVC、MVP與MVVM的異同介紹

    View和ViewModel內部通過一個Binder進行事件交互,該Binder通過雙向綁定將View與ViewModel中與對于數(shù)據操作的部分鏈接,當對應數(shù)據由更新時同樣會自動地反饋
    的頭像 發(fā)表于 06-22 15:34 ?4875次閱讀

    華為認為Harmony OS成熟需要5到10年

    上個月,華為宣布了自主研發(fā)的操作系統(tǒng)Harmony OS(Hongmeng OS)。幾天前,華為在英國倫敦舉行了一次媒體活動,并討論了其在該系統(tǒng)上的計劃。Harmony
    的頭像 發(fā)表于 12-23 11:35 ?1799次閱讀

    harmony?os?2.0報名入口 如何報名harmonyos2.0報名?

    華為HarmonyOS2.0公測怎么申請?如何報名harmony os 2.0報名?harmony os 2.0報名入口在哪里?本文就此問題進行解釋。 在第一輪的公測里面,華為共有19
    的頭像 發(fā)表于 06-08 12:10 ?5556次閱讀

    美的是首批支持 Harmony OS 的家電企業(yè)之一

    據美的官微消息,搭載 HarmonyOS 的美的產品今天雙十一上市,據悉,美的是首批支持 Harmony OS 的家電企業(yè)之一。
    的頭像 發(fā)表于 11-11 15:05 ?3871次閱讀

    OpenHarmony生態(tài)論壇:關于開源Harmony OS教育行業(yè)發(fā)行版介紹

    OpenHarmony生態(tài)論壇:關于開源Harmony OS教育行業(yè)發(fā)行版,深度賦能智能硬件行業(yè)
    的頭像 發(fā)表于 04-25 15:19 ?1281次閱讀
    OpenHarmony生態(tài)論壇:關于開源<b class='flag-5'>Harmony</b> <b class='flag-5'>OS</b>教育行業(yè)發(fā)行版<b class='flag-5'>介紹</b>

    Harmony OS網絡編程實驗指南

    Harmony OS 網絡編程 實驗指南,十分有用的入門實驗指南。
    發(fā)表于 10-24 11:42 ?0次下載

    Kotlin的語法解析

    最近又開始要寫一些客戶端代碼,現(xiàn)在項目都是使用Kotlin,但是之前沒有系統(tǒng)的學習過Kotlin,對于Kotlin的一些語法還不熟悉,所以寫篇文章總結下。
    的頭像 發(fā)表于 04-19 10:21 ?1466次閱讀

    harmony OS NEXT-基本介紹及DevcoStudiop基本使用

    #鴻蒙基本介紹及DevcoStudiop基本使用 1.認識DevcoStudiop工作區(qū) 1.1認識工作區(qū) 開發(fā)節(jié)奏: 通過左側目錄找到對應的應用文件,在編輯區(qū)進行代碼編寫,在右側看預覽效果 快捷鍵
    的頭像 發(fā)表于 03-26 16:48 ?417次閱讀
    <b class='flag-5'>harmony</b> <b class='flag-5'>OS</b> <b class='flag-5'>NEXT-</b>基本<b class='flag-5'>介紹</b>及DevcoStudiop基本使用

    harmony OS NEXT-通過用戶首選項實現(xiàn)數(shù)據持久化

    # 鴻蒙通過用戶首選項實現(xiàn)數(shù)據持久化 ## 1.1 場景介紹 用戶首選項為應用提供Key-Value鍵值型的數(shù)據處理能力,支持應用持久化輕量級數(shù)據,并對其修改和查詢。當用戶希望有一個全
    的頭像 發(fā)表于 04-29 16:38 ?543次閱讀

    harmony OS NEXT-評論功能小demo

    # 評論頁面小demo ## 效果展示 ![img](https://i-blog.csdnimg.cn/img_convert/f574e0b18325ee466938a3cb70530209.gif) ## 1.拆解組件,分層搭建 我們將整個評論頁面拆解為三個組件,分別是頭部導航,評論項,回復三個部分,然后統(tǒng)一在index界面導入 ![image-20250304150652225](https://i-blog.csdnimg.cn/img_convert/2e234f0fe986014368d8d7f138577e6a.png) ## 2.頭部導航界面搭建 ![image-20250304151026576](https://i-blog.csdnimg.cn/img_convert/c876aa04a505a3c3203c03984a2e1504.png) ```ts @Preview @Component struct HmNavBar { ?// 屬性:是可以被傳
    的頭像 發(fā)表于 04-27 17:38 ?215次閱讀