Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-uni-app-x-zh
提交
b76adf4a
U
unidocs-uni-app-x-zh
项目概览
DCloud
/
unidocs-uni-app-x-zh
通知
144
Star
2
Fork
33
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
9
列表
看板
标记
里程碑
合并请求
11
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-uni-app-x-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
9
Issue
9
列表
看板
标记
里程碑
合并请求
11
合并请求
11
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
b76adf4a
编写于
9月 11, 2024
作者:
DCloud-yyl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update uts-plugin.md
上级
6024950f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
25 deletion
+26
-25
docs/plugin/uts-plugin.md
docs/plugin/uts-plugin.md
+26
-25
未找到文件。
docs/plugin/uts-plugin.md
浏览文件 @
b76adf4a
...
...
@@ -1852,11 +1852,12 @@ utsJsonObj.forEach(function(perField:any){
`UTS插件`
导出的方法中的回调函数参数触发一次后立即自动回收,避免内存泄漏,也就是默认情况下回调函数 callback 只能触发一次。这次调整可能带来向下兼容的问题,导致方法中的回调函数参数无法持续回调。
影响范围:
`HBuilderX4.25+版本 iOS 平台的 uni-app 和 uni-app x 项目, Android平台的 uni-app 项目,顶层方法或者自定义 class 中的静态方法或者实例方法`
如果回调函数参数需支持可持续触发, 按以下方案进行适配:
如果回调函数参数需支持可持续触发, 按以下方案进行适配:
将方法名称调整为
`以 on 开头,且仅有一个 callback 类型的参数`
,如下示例:
```
ts
function
onTest
(
callback
:
(
msg
:
string
)
=>
void
)
{
//...
//...
}
```
...
...
@@ -1864,8 +1865,8 @@ function onTest(callback : (msg : string) => void) {
通过装饰器(注解)
`@UTSJS.keepAlive`
声明方法中的回调函数参数一直存活(不自动回收),支持回调函数可持续触发回调,如下示例:
```
ts
export
type
Options
=
{
a
:
string
success
:
(
res
:
string
)
=>
void
a
:
string
success
:
(
res
:
string
)
=>
void
}
// 以 on 开头,且仅有一个 callback 类型的参数的函数
...
...
@@ -1890,35 +1891,34 @@ export function testOption(option : Options) {
// 以上规则在自定义class中同样适用
export
class
Test
{
onTest
(
callback
:
(
msg
:
string
)
=>
void
)
{
callback
(
"
a
"
)
callback
(
"
b
"
)
}
@
UTSJS
.
keepAlive
testOption
(
option
:
Options
)
{
option
.
success
(
"
a
"
)
option
.
success
(
"
b
"
)
}
onTest
(
callback
:
(
msg
:
string
)
=>
void
)
{
callback
(
"
a
"
)
callback
(
"
b
"
)
}
@
UTSJS
.
keepAlive
testOption
(
option
:
Options
)
{
option
.
success
(
"
a
"
)
option
.
success
(
"
b
"
)
}
@
UTSJS
.
keepAlive
test
(
callback
:
(
msg
:
string
)
=>
void
)
{
callback
(
"
a
"
)
callback
(
"
b
"
)
}
@
UTSJS
.
keepAlive
static
testStatic
(
callback
:
(
msg
:
string
)
=>
void
)
{
@
UTSJS
.
keepAlive
static
testStatic
(
callback
:
(
msg
:
string
)
=>
void
)
{
callback
(
"
a
"
)
callback
(
"
b
"
)
}
@
UTSJS
.
keepAlive
s
tatic
testOptionStatic
(
option
:
Options
)
{
option
.
success
(
"
a
"
)
option
.
success
(
"
b
"
)
}
@
UTSJS
.
keepAlive
tatic
testOptionStatic
(
option
:
Options
)
{
option
.
success
(
"
a
"
)
option
.
success
(
"
b
"
)
}
}
```
...
...
@@ -1928,6 +1928,7 @@ export class Test {
> 2. 目前装饰器不支持 export const test:Test = ()=>{} // 这种导出方式,需要使用export function test(){}
## Bug & Tips@tips
### uniapp项目安卓环境 不支持函数重载
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录