鸿蒙NEXT开发【@ohos.arkui.StateManagement (状态管理)】 UI界面API

状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态、工具。

说明

本模块首批接口从API version 12开始支持。

本文中T和S的含义如下:

类型 描述
T Class,number,boolean,string和这些类型的数组形式。
S number,boolean,string。

导入模块

import { AppStorageV2,PersistenceV2,UIUtils} from '@kit.ArkUI';

connect12+

static connect(

type: TypeConstructorWithArgs,

keyOrDefaultCreator?: string | StorageDefaultCreator,

defaultCreator?: StorageDefaultCreator

): T | undefined;

将键值对数据储存在应用内存中。如果给定的key已经存在于[AppStorageV2]中,返回对应的值;否则,通过获取默认值的构造器构造默认值,并返回。

元服务API:  从API version 12开始,该接口支持在元服务中使用。

系统能力:  SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 参数描述
type TypeConstructorWithArgs 指定的类型,若未指定key,则使用type的name作为key。
keyOrDefaultCreater string StorageDefaultCreator
defaultCreator StorageDefaultCreator 获取默认值的构造器。

说明

1、若未指定key,使用第二个参数作为默认构造器;否则使用第三个参数作为默认构造器;

2、确保数据已经存储在AppStorageV2中,可省略默认构造器,获取存储的数据;否则必须指定默认构造器,不指定将导致应用异常;

3、同一个key,connect不同类型的数据会导致应用异常,应用需要确保类型匹配;

4、key建议使用有意义的值,长度不超过255,使用非法字符或空字符的行为是未定义的。

返回值:

类型 描述
T 创建或获取AppStorageV2数据成功时,返回数据;否则返回undefined。

示例:

import { AppStorageV2 } from '@kit.ArkUI';

@ObservedV2
class SampleClass {
  @Trace p: number = 0;
}

// 将key为SampleClass、value为new SampleClass()对象的键值对存储到内存中,并赋值给as1
const as1: SampleClass | undefined = AppStorageV2.connect(SampleClass, () => new SampleClass());

// 将key为key_as2、value为new SampleClass()对象的键值对存储到内存中,并赋值给as2
const as2: SampleClass = AppStorageV2.connect(SampleClass, 'key_as2', () => new SampleClass())!;

// key为SampleClass已经在AppS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值