LocalStorage是頁面級的UI狀態存儲,通過@Entry裝飾器接收的參數可以在頁面內共享同一個LocalStorage實例,LocalStorage也可以在UIAbility內,頁面間共享狀態 ## 1.2 LocalStorage單個頁面的使用方法 ### 1.2.1 單個頁面的數據狀態存儲方法 1. 準備一個共享數據,鍵值對的方式存儲 2. 創建LocalStorage實例:const storage = new LocalStorage({key:value}) 3. 單向 @LocalStorageProp(‘user’)組件內可變 4. 雙向 #LocalStorageLink(‘" />

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

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

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

3天內不再提示

harmony OS NEXT-UIAbility內狀態-LocalStorage詳細介紹

程奕紅 ? 來源:jf_34770892 ? 作者:jf_34770892 ? 2025-03-22 15:09 ? 次閱讀

# 鴻蒙Harmony-UIAbility內狀態-LocalStorage詳細介紹

## 1.1 Localstorage的概念

> LocalStorage是頁面級的UI狀態存儲,通過@Entry裝飾器接收的參數可以在頁面內共享同一個LocalStorage實例,LocalStorage也可以在UIAbility內,頁面間共享狀態

## 1.2 LocalStorage單個頁面的使用方法

### 1.2.1 單個頁面的數據狀態存儲方法

1. 準備一個共享數據,鍵值對的方式存儲

2. 創建LocalStorage實例:const storage = new LocalStorage({key:value})
3. 單向 @LocalStorageProp(‘user’)組件內可變
4. 雙向 #LocalStorageLink(‘user’)全局均可變

### 1.2.2 案例演示

1. 準備共享數據

```ts
const data:Record = {
'uname':'公孫離',
'age':'18'
}

```

2. 創建一個storage實例

```ts
const storage = new LocalStorage(data)
```

3. 使用共享數據庫

```ts
1.@Entry(storage)
//表示我要從共享數據庫中取出uname字段 具體需要取出什么字段根據自己需求即可
@LocalStorageLink('uname')
//給取出的字段取一個別名,需要賦初始值。因為可能拿不到
message: string = ''
```

4. 具體代碼實現

```ts
const data:Record = {
'uname':'公孫離',
'age':'18'
}
const storage = new LocalStorage(data)
@Entry(storage)
@Component
struct TestLocalStorage03 {
@LocalStorageLink('uname')
message:string = ''

build() {
Column() {
Text(this.message)
Button('改變父組件的信息')
.onClick(()=>{
this.message = '孫尚香'
})
child001()
}
.height('100%')
.width('100%')
}
}

@Component
struct child001 {
@LocalStorageLink('uname')
message:string = ''
build() {
Column(){
Text('-------------------------------------------')

Text(this.message)
Button('改變子組件的狀態')
.onClick(()=>{
this.message = '西施'
})
}
}
}
```

### 1.2.3 效果展示

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

##

## 1.3 LocalStorage多個頁面共享UIAbility的使用方法

### 1.3.1 多個頁面的使用方法

1. 依舊是準備共享數據,放置在設置當前應用的加載頁面(UIAbility共享),只要是當前windowstage內的界面,都可以共享這份數據
2. 在設置應用的加載頁面創建storage實例
3. 通過LocalStorage里面的方法getShared獲取數據

### 1.3.2 案例演示

1. 準備數據

```ts
const data:Record = {
'uname':'公孫離',
'age':'18',
}
const storage = new LocalStorage(data)
```

2. 創建storage實例,將storage傳遞給頁面

```ts
1.const storage = new LocalStorage(data)
2. windowStage.loadContent('pages/10/TestLocalStorage03',storage);
```

3. 接收數據

```ts
const storage = LocalStorage.getShared()
//其他步驟同單個頁面傳輸嗎,這里就不再敘述
```

4. 完整代碼展示

* UIAbility內代碼

```ts
onWindowStageCreate(windowStage: window.WindowStage): void {
const data:Record = {
'uname':'公孫離',
'age':'18',
}
const storage = new LocalStorage(data)
// //只要是當前windowStage內的界面,都可以共享這份數據
windowStage.loadContent('pages/10/TestLocalStorage03',storage);
}
```

* 頁面1

```ts
// const data:Record = {
import { router } from '@kit.ArkUI'

// 'uname':'公孫離',
// 'age':'18'
// }
const storage = LocalStorage.getShared()

@Entry(storage)
@Component
struct TestLocalStorage03 {
@LocalStorageLink('uname')
message: string = ''

build() {
Column() {
Text(this.message)
Button('改變父組件的信息')
.onClick(() => {
this.message = '孫尚香'
})
child001()

}
.height('100%')
.width('100%')
}
}

@Component
struct child001 {
@LocalStorageLink('uname')
message: string = ''

build() {
Column() {
Text('-------------------------------------------')

Text(this.message)
Button('改變子組件的狀態')
.onClick(() => {
this.message = '西施'
})
Button('切換頁面')
.onClick(() => {
router.pushUrl({
url: 'pages/10/TextLocalStorage2'
})
})
}
}
}
```

* 頁面2

```ts
import { router } from '@kit.ArkUI'

const storage = LocalStorage.getShared()
@Entry(storage)
@Component
struct TextLocalStorage2 {
@LocalStorageLink('uname')
message: string = ''

build() {
Column() {
Text(this.message)
Button('改變信息')
.onClick(()=>{
this.message = '劉備'
})

Button('back')
.onClick(()=>{
router.back()
})
}
.height('100%')
.width('100%')
}
}
```


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4508

    瀏覽量

    87148
  • 鴻蒙
    +關注

    關注

    59

    文章

    2542

    瀏覽量

    43830
  • Harmony
    +關注

    關注

    0

    文章

    64

    瀏覽量

    2919
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    鴻蒙Next實現瀑布流布局

    的應用窗口寬度并注冊回調函數監聽窗口尺寸變化。將窗口尺寸的長度單位由 px 換算為 vp 后,即可基于前文中介紹的規則得到當前斷點值,此時可以使用狀態變量記錄當前的斷點值方便后續
    發表于 06-10 14:17

    PageAbility切換為UIAbility的方法

    UIAbility。 將FA應用中PageAbility的代碼遷移到新創建的UIAbility中。FA應用中PageAbility和Stage應用中的UIAbility生命周期基本一致,兩者的生命周期
    發表于 06-05 06:07

    UIAbility組件生命周期介紹

    UIAbility組件生命周期 概述 當用戶打開、切換和返回到對應應用時,應用中的UIAbility實例會在其生命周期的不同狀態之間轉換。UIAbility類提供了一系列回調,通過
    發表于 05-16 08:28

    UIAbility組件基本用法說明

    UIAbilityContext可以獲取UIAbility的相關配置信息,如包代碼路徑、Bundle名稱、Ability名稱和應用程序需要的環境狀態等屬性信息,以及可以獲取操作UIAbility實例的方法(如
    發表于 05-16 06:32

    UIAbility組件間交互(設備)說明

    UIAbility,也可以是其他應用的UIAbility(例如啟動三方支付UIAbility)。 本文將從如下場景分別介紹設備
    發表于 05-16 06:12

    UIAbility組件啟動模式:實例在啟動時的不同呈現狀態

    UIAbility組件啟動模式 UIAbility的啟動模式是指UIAbility實例在啟動時的不同呈現狀態。針對不同的業務場景,系統提供了三種啟動模式: singleton(單實
    發表于 05-16 06:10

    UIAbility組件與UI的數據同步介紹

    數據的情況;而LocalStorage則是一個局部的狀態管理器,適用于單個UIAbility內部使用的狀態數據。通過這兩種方案,開發者可以更加靈活地控制應用
    發表于 05-16 06:10

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

    # 鴻蒙Harmony-雙向數據綁定MVVM以及$$語法糖介紹 ## 1.1 雙向數據綁定概念 在鴻蒙(HarmonyOS)應用開發中,雙向數據改變(或雙向數據綁定)是一種讓數據·模型和UI組件之間
    的頭像 發表于 04-29 16:52 ?248次閱讀

    harmony OS NEXT-Navagation基本用法

    # Navagation基本用法 > Navigation組件是路由導航的根視圖容器,一般作為Page頁面的根容器使用,其內部默認包含了標題欄,內容欄和公工具欄,其中內容區默認首頁顯示導航內容(Navigation的子組件)或非首頁顯示(NavDestination的子組件),首頁和非首頁通過路由進行切換 * 使用Navigation跳轉的組件不需要再使用Entry來修飾,普通組件即可 * Navigation是一個導航組件,API9和API11的使用官方推薦方式各不相同 ## 1. Navagation API9的用法-(Navigation-NavRouter-(其他組件+NavD
    的頭像 發表于 04-27 17:39 ?238次閱讀

    KaihongOS操作系統:UIAbility的生命周期

    和功能。 1. Create狀態: onCreate():當UIAbility實例創建完成時觸發,系統會調用此回調。開發者可以在該回調中進行頁面初始化操作,例如變量定義、資源加載等,用于后續的UI展示
    發表于 04-25 07:04

    HarmonyOS Next V2 @Local 和@Param

    HarmonyOS Next V2 @Local 和@Param @Local 背景 @Local 是 harmony 應用開發中的 v2 版本中 對標**@State**的狀態管理修飾器,它解決了
    的頭像 發表于 04-02 18:27 ?322次閱讀
    HarmonyOS <b class='flag-5'>Next</b> V2 @Local 和@Param

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

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

    HarmonyOS Next 應用元服務開發-應用接續動態配置遷移快速啟動目標應用

    UIAbility { storage : LocalStorage = new LocalStorage(); onCreate(want: Want, launchParam
    發表于 12-31 09:58

    HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)事件推薦接入方案

    名稱 // 名稱應當遵循意圖框架規范,當前僅支持預置垂域意圖,不允許自定義 // 應用意圖名稱唯一,不允許出現相同的名稱定義 \"intentName\": \"
    發表于 11-14 15:26

    鴻蒙開發Ability Kit程序框架服務:FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發表于 06-25 16:00 ?640次閱讀
    鴻蒙開發Ability Kit程序框架服務:FA模型啟動Stage模型<b class='flag-5'>UIAbility</b>
    主站蜘蛛池模板: 欧美成人影院免费观 | 夜夜爽夜夜爽 | 亚洲第一伊人 | 中国女人a毛片免费全部播放 | 欧美深深色噜噜狠狠yyy | 在线色综合| 天天躁狠狠躁夜夜躁2021 | 婷婷免费视频 | 免费人成a大片在线观看动漫 | 国产美女主播在线观看 | 大黄网站在线观看 | 亚洲乱码一二三四区 | asian极品呦女爱爱 | 女bbbbxxxx视频 | 午夜影院入口 | 亚洲a视频| 九九美剧| 视频免费观看视频 | 色婷婷影院 | 国产精品免费一级在线观看 | 久久天天操 | 欧美一级片在线视频 | 亚洲精品日韩专区silk | 亚洲va中文字幕无码 | 毛片网站网址 | 国产做a爰片久久毛片a | 久久成人精品免费播放 | 亚洲视频久久 | hd性欧美 | 女人张开腿让男人做爽爽 | 国产乱码一区二区三区四川人 | 亚洲人成人 | 网站一级片 | 国产福利不卡一区二区三区 | 黄色在线视频网 | 欧美一区二区三区影院 | 啪啪网免费 | 天天色综合久久 | 日本噜噜影院 | 日成人网| 久久99热精品免费观看k影院 |