Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
uni-app
提交
1d553020
U
uni-app
项目概览
Metz
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1d553020
编写于
10月 08, 2022
作者:
eagzzycsl
提交者:
折腾笔记
10月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 兜底data-event-list 属性为 undefined 的情况
上级
36c9f216
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
54 addition
and
54 deletion
+54
-54
src/platforms/mp-alipay/runtime/wrapper/util.js
src/platforms/mp-alipay/runtime/wrapper/util.js
+2
-2
src/platforms/mp-xhs/runtime/wrapper/util.js
src/platforms/mp-xhs/runtime/wrapper/util.js
+52
-52
未找到文件。
src/platforms/mp-alipay/runtime/wrapper/util.js
浏览文件 @
1d553020
...
...
@@ -111,7 +111,7 @@ export function initChildVues (mpInstance) {
function
handleProps
(
ref
)
{
const
eventProps
=
{}
let
refProps
=
ref
.
props
const
eventList
=
refProps
[
'
data-event-list
'
]
.
split
(
'
,
'
)
const
eventList
=
(
refProps
[
'
data-event-list
'
]
||
''
)
.
split
(
'
,
'
)
// 初始化支付宝小程序组件事件
Object
.
keys
(
refProps
).
forEach
(
key
=>
{
if
(
eventList
.
includes
(
key
))
{
...
...
@@ -227,7 +227,7 @@ export const handleLink = (function () {
export
const
handleWrap
=
function
(
mp
,
destory
)
{
const
vueId
=
mp
.
props
.
vueId
const
list
=
mp
.
props
[
'
data-event-list
'
]
.
split
(
'
,
'
)
const
list
=
(
mp
.
props
[
'
data-event-list
'
]
||
''
)
.
split
(
'
,
'
)
list
.
forEach
(
eventName
=>
{
const
key
=
`
${
eventName
}${
vueId
}
`
if
(
destory
)
{
...
...
src/platforms/mp-xhs/runtime/wrapper/util.js
浏览文件 @
1d553020
import
{
isFn
,
hasOwn
}
from
'
uni-shared
'
export
const
isComponent2
=
xhs
.
canIUse
(
'
component2
'
)
export
const
mocks
=
[
'
$id
'
]
export
function
initSpecialMethods
(
mpInstance
)
{
if
(
!
mpInstance
.
$vm
)
{
return
}
let
path
=
mpInstance
.
is
||
mpInstance
.
route
if
(
!
path
)
{
return
}
if
(
path
.
indexOf
(
'
/
'
)
===
0
)
{
path
=
path
.
substr
(
1
)
}
const
specialMethods
=
xhs
.
specialMethods
&&
xhs
.
specialMethods
[
path
]
if
(
specialMethods
)
{
specialMethods
.
forEach
(
method
=>
{
if
(
isFn
(
mpInstance
.
$vm
[
method
]))
{
mpInstance
[
method
]
=
function
(
event
)
{
if
(
hasOwn
(
event
,
'
markerId
'
))
{
event
.
detail
=
typeof
event
.
detail
===
'
object
'
?
event
.
detail
:
{}
event
.
detail
.
markerId
=
event
.
markerId
}
// TODO normalizeEvent
mpInstance
.
$vm
[
method
](
event
)
}
}
})
}
}
export
const
handleWrap
=
function
(
mp
,
destory
)
{
const
vueId
=
mp
.
props
.
vueId
const
list
=
mp
.
props
[
'
data-event-list
'
].
split
(
'
,
'
)
list
.
forEach
(
eventName
=>
{
const
key
=
`
${
eventName
}${
vueId
}
`
if
(
destory
)
{
delete
this
[
key
]
}
else
{
// TODO remove handleRef
this
[
key
]
=
function
()
{
mp
.
props
[
eventName
].
apply
(
this
,
arguments
)
}
}
})
}
import
{
isFn
,
hasOwn
}
from
'
uni-shared
'
export
const
isComponent2
=
xhs
.
canIUse
(
'
component2
'
)
export
const
mocks
=
[
'
$id
'
]
export
function
initSpecialMethods
(
mpInstance
)
{
if
(
!
mpInstance
.
$vm
)
{
return
}
let
path
=
mpInstance
.
is
||
mpInstance
.
route
if
(
!
path
)
{
return
}
if
(
path
.
indexOf
(
'
/
'
)
===
0
)
{
path
=
path
.
substr
(
1
)
}
const
specialMethods
=
xhs
.
specialMethods
&&
xhs
.
specialMethods
[
path
]
if
(
specialMethods
)
{
specialMethods
.
forEach
(
method
=>
{
if
(
isFn
(
mpInstance
.
$vm
[
method
]))
{
mpInstance
[
method
]
=
function
(
event
)
{
if
(
hasOwn
(
event
,
'
markerId
'
))
{
event
.
detail
=
typeof
event
.
detail
===
'
object
'
?
event
.
detail
:
{}
event
.
detail
.
markerId
=
event
.
markerId
}
// TODO normalizeEvent
mpInstance
.
$vm
[
method
](
event
)
}
}
})
}
}
export
const
handleWrap
=
function
(
mp
,
destory
)
{
const
vueId
=
mp
.
props
.
vueId
const
list
=
(
mp
.
props
[
'
data-event-list
'
]
||
''
).
split
(
'
,
'
)
list
.
forEach
(
eventName
=>
{
const
key
=
`
${
eventName
}${
vueId
}
`
if
(
destory
)
{
delete
this
[
key
]
}
else
{
// TODO remove handleRef
this
[
key
]
=
function
()
{
mp
.
props
[
eventName
].
apply
(
this
,
arguments
)
}
}
})
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录