From dc324577cee79bcd9f83ab588f6663a3424f0b3b Mon Sep 17 00:00:00 2001 From: jiangbo Date: Tue, 31 May 2022 11:00:01 +0800 Subject: [PATCH] jiangbo91@huawei.com MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit loacl_storage开发文档 Signed-off-by: jiangbo Change-Id: I2c0d45930bf053269f6db8ae9649513bac72777e --- .../application-dev/ui/ui-ts-local_storage.md | 158 ++++++++---------- 1 file changed, 71 insertions(+), 87 deletions(-) diff --git a/zh-cn/application-dev/ui/ui-ts-local_storage.md b/zh-cn/application-dev/ui/ui-ts-local_storage.md index f5e531538c..18f1e39b15 100644 --- a/zh-cn/application-dev/ui/ui-ts-local_storage.md +++ b/zh-cn/application-dev/ui/ui-ts-local_storage.md @@ -1,28 +1,26 @@ -# **LocalStorage** +# LocalStorage - 说明:该功能从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 + ![icon-note.gif](https://gitee.com/BoJiang4702/docs/raw/master/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-note.gif) **说明:** 该组件从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 -LocalStorage是应用程序中的存储单元,是为应用程序范围内的可变状态属性和非可变状态属性提供存储,可变状态属性和非可变状态属性是构建应用程序UI的特定部分。如一个Ability的UI。 +LocalStorage是应用程序中的存储单元,它的生命周期跟随其关联的Ability。且LocalStorage为应用程序范围内的可变状态属性和非可变状态属性提供存储,可变状态属性和非可变状态属性是构建应用程序UI的一部分。如一个Ability的UI。 应用层:一个应用程序可以创建多个LocalStorage实例,应用程序的每一个Ability对应一个LocalStorage实例。 -Ability:一个Ability中@Entry的所有子代@Component中,最多可以分配一个LocalStorage实例。另外Ability中的所有子组件都将继承对此存储对象的访问权。(一个应用程序可拥有多个Ability) +Ability: 一个应用程序可以拥有多个Ability,一个Ability中的所有子组件最多可以分配一个LocalStorage实例。并且,Ability中的所有子组件都将继承对此LocalStorage实例存储对象的访问权。 -一个@Component最多可以访问一个LocalStorage实例,一个LocalStorage对象可以分配给多个@Component。 - -LocalStorage的生命周期跟随其关联的Ability。 +一个组件最多可以访问一个LocalStorage实例,一个LocalStorage对象可以分配给多个组件。 ## @LocalStorageLink装饰器 -组件通过使用@LocalStorageLink(key)装饰的状态变量(key值为LocalStorage中的属性键值),与LocalStorage建立双向数据绑定,当创建包含@LocalStorageLink的状态变量的组件时,该状态变量的值将会使用LocalStorage中的值进行初始化。(如果LocalStorage中未定义初始值,将使用@LocalStorageLink定义的初始值)。在UI组件中对@LocalStorageLink的状态变量所做的更改将同步到LocalStorage中,并从LocalStorage同步到Ability下的组件中。 +组件通过使用@LocalStorageLink(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立双向数据绑定,当创建包含@LocalStorageLink的状态变量的组件时,该状态变量的值将会使用LocalStorage中的值进行初始化。如果LocalStorage中未定义初始值,将使用@LocalStorageLink定义的初始值。在UI组件中对@LocalStorageLink的状态变量所做的更改将同步到LocalStorage中,并从LocalStorage同步到Ability下的组件中。 ## @LocalStorageProp装饰器 -组件通过使用LocalStorageProp(key)装饰的状态变量(key值为LocalStorage中的属性键值),与LocalStorage建立单向数据绑定,当创建包含@LocalStorageProp的状态变量的组件时,该状态变量的值将使用LocalStorage中的值进行初始化。LocalStorage中的属性值的更改会导致当前Ability下的所有UI组件进行状态更新。 +组件通过使用LocalStorageProp(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立单向数据绑定,当创建包含@LocalStorageProp的状态变量的组件时,该状态变量的值将使用LocalStorage中的值进行初始化。LocalStorage中的属性值的更改会导致当前Ability下的所有UI组件进行状态更新。 - 注意:LocalStorage定义时没有给定默认值时,那么可以使用组件内@LocalStorageLink和@LocalStorageProp的默认值,如果定义时给定了默认值,那么不会再使用@LocalStorageLink和@LocalStorageProp的默认值。 +​ ![icon-note.gif](https://gitee.com/BoJiang4702/docs/raw/master/zh-cn/application-dev/reference/arkui-ts/public_sys-resources/icon-note.gif) **说明:** 创建LocalStorage实例时没有给LocalStorage实例默认值时,可以使用组件内@LocalStorageLink和@LocalStorageProp的默认值,如果定义时给定了默认值,那么不会再使用@LocalStorageLink和@LocalStorageProp的默认值。 -## LocalStorage接口: +## LocalStorage接口 ### Constructor @@ -42,17 +40,17 @@ has(propName: string): boolean 判断属性值是否存在。 -#### 参数: +**参数:** | 参数名 | 类型 | 必填 | 默认值 | 参数描述 | | -------- | ------ | :--: | ------ | -------------- | | propName | string | 是 | - | 属性的属性值。 | -#### 返回值: +**返回值:** -| 类型 | 描述 | -| ------- | ---------------------- | -| boolean | 返回判断后的布尔类型。 | +| 类型 | 描述 | +| ------- | ------------------------------------------------------------ | +| boolean | 返回判断后属性值是否存在,如果存在,返回true,反之则为false。 | @@ -62,17 +60,17 @@ get(propName: string): T 获取对应key值的value。 -#### 参数: +**参数:** | 参数名 | 类型 | 必填 | 默认值 | 参数描述 | | -------- | ------ | :--: | ------ | ------------------- | | propName | string | 是 | - | 要获取对应的key值。 | -#### 返回值: +**返回值:** -| 类型 | 描述 | -| -------------- | ------------------ | -| T or undefined | 返回获得后的结果。 | +| 类型 | 描述 | +| -------------- | ----------------------------------------------------- | +| T \| undefined | 当对应的keyvalue存在时,返回值。不存在返回undefined。 | @@ -82,14 +80,14 @@ get(propName: string): T 存储对象值。 -#### 参数: +**参数:** | 参数名 | 类型 | 必填 | 默认值 | 参数描述 | | -------- | ------ | :--: | ------ | ----------------- | | propName | string | 是 | - | 要设置的key值。 | | newValue | T | 是 | - | 要设置的value值。 | -#### 返回值: +**返回值:** | 类型 | 描述 | | ------- | ----------------------------------------------------- | @@ -103,18 +101,18 @@ get(propName: string): T 创建或更新setOrCreate内部的值。 -#### 参数: +**参数:** | 参数名 | 类型 | 必填 | 默认值 | 参数描述 | | -------- | ------ | :--: | ------ | --------------------------- | | propName | string | 是 | - | 传入要更新或者创建的key值。 | | newValue | T | 是 | - | 传入要更新或创建的value值。 | -#### 返回值: +**返回值:** | 类型 | 描述 | | ------- | ------------------------------------------------------------ | -| boolean | 如果已存在与给定键名字相同的属性,更新其值且返回true。如果不存在具有给定名称的属性,在LocalStorage中创建具有给定默认值的新属性,默认值必须是T类型。不允许undefined or null 返回true。 | +| boolean | 如果已存在与给定键名字相同的属性,更新其值且返回true。如果不存在具有给定名称的属性,在LocalStorage中创建具有给定默认值的新属性,默认值必须是T类型。不允许undefined 或 null 返回true。 | @@ -124,13 +122,15 @@ get(propName: string): T 与localStorage双向数据绑定。 -#### 参数: +**参数:** -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ------ | ---------------------- | -| propName | string | 是 | - | 要双向绑定的属性名称。 | +| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | +| --------------- | ------ | :--: | ------ | ---------------------- | +| propName | string | 是 | - | 要双向绑定的属性名称。 | +| linkUser | T | 否 | - | 无 | +| subscribersName | string | 否 | - | 无 | -#### 返回值: +**返回值:** | 类型 | 描述 | | ---- | ------------------------------------------------------------ | @@ -144,20 +144,20 @@ get(propName: string): T 与link接口类似,双向数据绑定localStorage。 -#### 参数: +**参数:** -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------------ | ------ | :--: | ------ | --------------------- | -| propName | string | 是 | - | 传入要进行创建的key值 | -| defaultValue | T | 是 | - | 要进行设置的默认值 | +| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | +| --------------- | ------ | :--: | ------ | ----------------------- | +| propName | string | 是 | - | 传入要进行创建的key值。 | +| defaultValue | T | 是 | - | 要进行设置的默认值。 | +| linkUser | T | 否 | - | 无 | +| subscribersName | string | 否 | - | 无 | -#### 返回值: +**返回值:** -| 类型 | 描述 | -| ----- | ------------------------------------------------------------ | -| @Link | 与Link接口类似,如果当前的key保存于LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Link返回。 | - - 注:Link接口链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/ui/ts-component-states-link.md +| 类型 | 描述 | +| ------------------------------------- | ------------------------------------------------------------ | +| [@Link](ts-component-states-link.md ) | 与Link接口类似,如果当前的key保存于LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Link返回。 | @@ -167,13 +167,15 @@ prop(propName: string, propUser?: T, subscribersName?: string): T 单向属性绑定的一种。更新组件的状态。 -#### 参数: +**参数:** -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ------ | ------------------------- | -| propName | string | 是 | - | 传入要单向数据绑定的key值 | +| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | +| --------------- | ------ | :--: | ------ | --------------------------- | +| propName | string | 是 | - | 传入要单向数据绑定的key值。 | +| propUser | T | 否 | - | 无 | +| subscribersName | string | 否 | - | 无 | -#### 返回值: +**返回值:** | 类型 | 描述 | | ----- | ------------------------------------------------------------ | @@ -187,20 +189,20 @@ setAndProp(propName: string, defaultValue: T, propUser?: T, subscribersName?: 与Prop接口类似,存在localStorage的单向数据绑定prop值 -#### 参数: - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------------ | ------ | :--: | ------ | --------------------------- | -| propName | string | 是 | - | 要保存的的键值对中的key值。 | -| defaultValue | S | 是 | - | 创建的默认值。 | +**参数:** -#### 返回值: +| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | +| --------------- | ------ | :--: | ------ | --------------------------- | +| propName | string | 是 | - | 要保存的的键值对中的key值。 | +| defaultValue | S | 是 | - | 创建的默认值。 | +| propUser | T | 否 | - | 无 | +| subscribersName | string | 否 | - | 无 | -| 类型 | 描述 | -| ----- | ------------------------------------------------------------ | -| @Prop | 如果当前的key保存与LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Prop返回。 | +**返回值:** -注:Prop接口链接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/ui/ts-component-states-prop.md +| 类型 | 描述 | +| ------------------------------------ | ------------------------------------------------------------ | +| [@Prop](ts-component-states-prop.md) | 如果当前的key保存与LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Prop返回。 | @@ -210,13 +212,13 @@ delete(propName: string): boolean 删除key指定的键值对 -#### 参数: +**参数:** | 参数名 | 类型 | 必填 | 默认值 | 参数描述 | | -------- | ------ | :--: | ------ | --------------------- | | propName | string | 是 | - | 要删除的属性的key值。 | -#### 返回值: +**返回值:** | 类型 | 描述 | | ------- | ------------------------------------------------------------ | @@ -230,13 +232,7 @@ keys(): IterableIterator 查找所有键 -#### 参数: - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------ | ---- | :--: | ------ | -------- | -| none | none | 是 | - | 无 | - -#### 返回值: +**返回值:** | 类型 | 描述 | | ------------- | ---------------------------- | @@ -250,17 +246,11 @@ size(): number 存在的键值对的个数 -#### 参数: - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------ | ---- | :--: | ------ | -------- | -| none | none | 是 | - | 无 | - -#### 返回值: +**返回值:** -| 类型 | 描述 | -| ------ | ---------------------- | -| number | 与Map.size()用法相同。 | +| 类型 | 描述 | +| ------ | ------------------ | +| number | 返回键值对的数量。 | @@ -270,17 +260,11 @@ clear(): boolean 删除所有的属性 -#### 参数: +**返回值:** -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------ | ---- | :--: | ------ | -------- | -| none | none | 是 | - | 无 | - -#### 返回值: - -| 类型 | 描述 | -| ------- | ----------------------------------------------------------- | -| boolean | 删除所有的属性,如果当前有状态变量依旧引用此属性,返回false | +| 类型 | 描述 | +| ------- | ------------------------------------------------------------ | +| boolean | 删除所有的属性,如果当前有状态变量依旧引用此属性,返回false。 | ### 示例1(在一个Ability创建的LocalStorage): -- GitLab