Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
ec5f1142
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
ec5f1142
编写于
8月 28, 2023
作者:
O
openharmony_ci
提交者:
Gitee
8月 28, 2023
浏览文件
操作
浏览文件
下载
差异文件
!23205 删除appstorage文档重复内容
Merge pull request !23205 from 181******72/OpenHarmony-3.2-Release
上级
6ffb76d4
781901a8
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
175 deletion
+0
-175
zh-cn/application-dev/quick-start/arkts-appstorage.md
zh-cn/application-dev/quick-start/arkts-appstorage.md
+0
-175
未找到文件。
zh-cn/application-dev/quick-start/arkts-appstorage.md
浏览文件 @
ec5f1142
...
...
@@ -297,181 +297,6 @@ export struct TapImage {
以下示例为消息机制方式订阅事件,会导致回调监听的节点数较多,非常耗时,不推荐以此来实现应用代码。
```
ts
// xxx.ets
class
ViewData
{
title
:
string
;
uri
:
Resource
;
color
:
Color
=
Color
.
Black
;
constructor
(
title
:
string
,
uri
:
Resource
)
{
this
.
title
=
title
;
this
.
uri
=
uri
}
}
@
Entry
@
Component
struct
Gallery2
{
dataList
:
Array
<
ViewData
>
=
[
new
ViewData
(
'
flower
'
,
$r
(
'
app.media.icon
'
)),
new
ViewData
(
'
OMG
'
,
$r
(
'
app.media.icon
'
)),
new
ViewData
(
'
OMG
'
,
$r
(
'
app.media.icon
'
))]
scroller
:
Scroller
=
new
Scroller
()
build
()
{
Column
()
{
Grid
(
this
.
scroller
)
{
ForEach
(
this
.
dataList
,
(
item
:
ViewData
,
index
?:
number
)
=>
{
GridItem
()
{
TapImage
({
uri
:
item
.
uri
,
index
:
index
})
}.
aspectRatio
(
1
)
},
(
item
:
ViewData
,
index
?:
number
)
=>
{
return
JSON
.
stringify
(
item
)
+
index
;
})
}.
columnsTemplate
(
'
1fr 1fr
'
)
}
}
}
@
Component
export
struct
TapImage
{
@
StorageLink
(
'
tapIndex
'
)
@
Watch
(
'
onTapIndexChange
'
)
tapIndex
:
number
=
-
1
;
@
State
tapColor
:
Color
=
Color
.
Black
;
private
index
:
number
;
private
uri
:
Resource
;
// 判断是否被选中
onTapIndexChange
()
{
if
(
this
.
tapIndex
>=
0
&&
this
.
index
===
this
.
tapIndex
)
{
console
.
info
(
`tapindex:
${
this
.
tapIndex
}
, index:
${
this
.
index
}
, red`
)
this
.
tapColor
=
Color
.
Red
;
}
else
{
console
.
info
(
`tapindex:
${
this
.
tapIndex
}
, index:
${
this
.
index
}
, black`
)
this
.
tapColor
=
Color
.
Black
;
}
}
build
()
{
Column
()
{
Image
(
this
.
uri
)
.
objectFit
(
ImageFit
.
Cover
)
.
onClick
(()
=>
{
this
.
tapIndex
=
this
.
index
;
})
.
border
({
width
:
5
,
style
:
BorderStyle
.
Dotted
,
color
:
this
.
tapColor
})
}
}
}
```
### 以持久化方式订阅某个事件并接收事件回调
推荐使用持久化方式订阅某个事件并接收事件回调,可以减少开销,增强代码的可读性。
```
ts
// xxx.ets
import
emitter
from
'
@ohos.events.emitter
'
;
let
NextID
:
number
=
0
;
class
ViewData
{
title
:
string
;
uri
:
Resource
;
color
:
Color
=
Color
.
Black
;
id
:
number
;
constructor
(
title
:
string
,
uri
:
Resource
)
{
this
.
title
=
title
;
this
.
uri
=
uri
this
.
id
=
NextID
++
;
}
}
@
Entry
@
Component
struct
Gallery2
{
dataList
:
Array
<
ViewData
>
=
[
new
ViewData
(
'
flower
'
,
$r
(
'
app.media.icon
'
)),
new
ViewData
(
'
OMG
'
,
$r
(
'
app.media.icon
'
)),
new
ViewData
(
'
OMG
'
,
$r
(
'
app.media.icon
'
))]
scroller
:
Scroller
=
new
Scroller
()
private
preIndex
:
number
=
-
1
build
()
{
Column
()
{
Grid
(
this
.
scroller
)
{
ForEach
(
this
.
dataList
,
(
item
:
ViewData
)
=>
{
GridItem
()
{
TapImage
({
uri
:
item
.
uri
,
index
:
item
.
id
})
}.
aspectRatio
(
1
)
.
onClick
(()
=>
{
if
(
this
.
preIndex
===
item
.
id
)
{
return
}
var
innerEvent
=
{
eventId
:
item
.
id
}
// 选中态:黑变红
var
eventData
=
{
data
:
{
"
colorTag
"
:
1
}
}
emitter
.
emit
(
innerEvent
,
eventData
)
if
(
this
.
preIndex
!=
-
1
)
{
console
.
info
(
`preIndex:
${
this
.
preIndex
}
, index:
${
item
.
id
}
, black`
)
var
innerEvent
=
{
eventId
:
this
.
preIndex
}
// 取消选中态:红变黑
var
eventData
=
{
data
:
{
"
colorTag
"
:
0
}
}
emitter
.
emit
(
innerEvent
,
eventData
)
}
this
.
preIndex
=
item
.
id
})
},
(
item
:
ViewData
)
=>
JSON
.
stringify
(
item
))
}.
columnsTemplate
(
'
1fr 1fr
'
)
}
}
}
@
Component
export
struct
TapImage
{
@
State
tapColor
:
Color
=
Color
.
Black
;
private
index
:
number
;
private
uri
:
Resource
;
onTapIndexChange
(
colorTag
:
emitter
.
EventData
)
{
this
.
tapColor
=
colorTag
.
data
.
colorTag
?
Color
.
Red
:
Color
.
Black
}
aboutToAppear
()
{
//定义事件ID
var
innerEvent
=
{
eventId
:
this
.
index
}
emitter
.
on
(
innerEvent
,
this
.
onTapIndexChange
.
bind
(
this
))
}
build
()
{
Column
()
{
Image
(
this
.
uri
)
.
objectFit
(
ImageFit
.
Cover
)
.
border
({
width
:
5
,
style
:
BorderStyle
.
Dotted
,
color
:
this
.
tapColor
})
}
}
}
```
以下示例为消息机制方式订阅事件,会导致回调监听的节点数较多,非常耗时,不推荐以此来实现应用代码。
```
ts
// xxx.ets
class
ViewData
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录