Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
83ba4635
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
717
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
83ba4635
编写于
3月 09, 2022
作者:
fxy060608
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(app): wxs event (#3324)
上级
ef2890c5
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
17 addition
and
6 deletion
+17
-6
packages/uni-app-plus/dist/uni-app-view.umd.js
packages/uni-app-plus/dist/uni-app-view.umd.js
+2
-2
packages/uni-app-plus/src/view/framework/dom/components/UniComponent.ts
...pp-plus/src/view/framework/dom/components/UniComponent.ts
+2
-1
packages/uni-app-plus/src/view/framework/dom/modules/events.ts
...ges/uni-app-plus/src/view/framework/dom/modules/events.ts
+4
-2
packages/uni-app-plus/src/view/framework/dom/utils.ts
packages/uni-app-plus/src/view/framework/dom/utils.ts
+9
-1
未找到文件。
packages/uni-app-plus/dist/uni-app-view.umd.js
浏览文件 @
83ba4635
此差异已折叠。
点击以展开。
packages/uni-app-plus/src/view/framework/dom/components/UniComponent.ts
浏览文件 @
83ba4635
...
...
@@ -96,7 +96,8 @@ export class UniComponent extends UniNode {
;(
this
.
$holder
||
this
.
$
).
textContent
=
text
}
addWxsEvent
(
name
:
string
,
wxsEvent
:
string
,
flag
:
number
)
{
this
.
$props
[
name
]
=
createWxsEventInvoker
(
this
.
$
,
wxsEvent
,
flag
)
// 此时 $ 还不存在,故传入 this,等事件触发时,再获取 $
this
.
$props
[
name
]
=
createWxsEventInvoker
(
this
,
wxsEvent
,
flag
)
}
addEvent
(
name
:
string
,
value
:
number
)
{
this
.
$props
[
name
]
=
createInvoker
(
this
.
id
,
value
,
parseEventName
(
name
)[
1
])
...
...
packages/uni-app-plus/src/view/framework/dom/modules/events.ts
浏览文件 @
83ba4635
...
...
@@ -10,6 +10,8 @@ import {
import
{
VD_SYNC
}
from
'
../../../../constants
'
import
{
UniCustomElement
}
from
'
../components
'
import
{
invokeWxsEvent
}
from
'
../wxs
'
import
type
{
UniComponent
}
from
'
../components/UniComponent
'
import
{
isUniComponent
}
from
'
../utils
'
function
removeEventListener
(
el
:
UniCustomElement
,
type
:
string
)
{
const
listener
=
el
.
__listeners
[
type
]
...
...
@@ -108,13 +110,13 @@ export function patchWxsEvent(
}
export
function
createWxsEventInvoker
(
el
:
UniCustomElement
,
el
:
UniCustomElement
|
UniComponent
,
wxsEvent
:
string
,
flag
:
number
)
{
const
invoker
=
(
evt
:
Event
)
=>
{
invokeWxsEvent
(
el
,
isUniComponent
(
el
)
?
el
.
$
:
el
,
wxsEvent
,
normalizeNativeEvent
(
evt
)[
0
]
as
Record
<
string
,
any
>
)
...
...
packages/uni-app-plus/src/view/framework/dom/utils.ts
浏览文件 @
83ba4635
import
{
JSON_PROTOCOL
,
WXS_PROTOCOL
}
from
'
@dcloudio/uni-shared
'
import
{
isString
}
from
'
@vue/shared
'
import
{
UniCustomElement
}
from
'
./components
'
import
type
{
UniCustomElement
}
from
'
./components
'
import
type
{
UniComponent
}
from
'
./components/UniComponent
'
import
{
invokeWxs
}
from
'
./wxs
'
const
JSON_PROTOCOL_LEN
=
JSON_PROTOCOL
.
length
...
...
@@ -20,3 +21,10 @@ export function decodeAttr(el: UniCustomElement, value: unknown) {
export
function
isCssVar
(
name
:
string
)
{
return
name
.
indexOf
(
'
--
'
)
===
0
}
export
function
isUniComponent
(
el
:
UniCustomElement
|
UniComponent
):
el
is
UniComponent
{
// 不使用 instanceof 判断,因为需要引入 UniComponent,两者循环依赖
return
!!
(
el
as
UniComponent
).
addWxsEvent
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录