Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
forked fromvuejs/vue

Commitacdc3c4

Browse files
Hanks10100yyx990803
authored andcommitted
feat($event): support binding parameters on event handler within weex recycle-list
1 parent2a1ce0d commitacdc3c4

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

‎src/core/vdom/helpers/update-listeners.js

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
/*@flow */
22

33
import{warn}from'core/util/index'
4-
import{cached,isUndef}from'shared/util'
4+
import{cached,isUndef,isPlainObject}from'shared/util'
55

66
constnormalizeEvent=cached((name:string):{
77
name:string,
88
once:boolean,
99
capture:boolean,
10-
passive:boolean
10+
passive:boolean,
11+
handler?:Function,
12+
params?:Array<any>
1113
}=>{
1214
const passive=name.charAt(0)==='&'
1315
name=passive ?name.slice(1) :name
@@ -47,11 +49,15 @@ export function updateListeners (
4749
remove:Function,
4850
vm:Component
4951
){
50-
letname,cur,old,event
52+
letname,def,cur,old,event
5153
for(nameinon){
52-
cur=on[name]
54+
def=cur=on[name]
5355
old=oldOn[name]
5456
event=normalizeEvent(name)
57+
if(isPlainObject(def)){
58+
cur=def.handler
59+
event.params=def.params
60+
}
5561
if(isUndef(cur)){
5662
process.env.NODE_ENV!=='production'&&warn(
5763
`Invalid handler for event "${event.name}": got `+String(cur),
@@ -61,7 +67,7 @@ export function updateListeners (
6167
if(isUndef(cur.fns)){
6268
cur=on[name]=createFnInvoker(cur)
6369
}
64-
add(event.name,cur,event.once,event.capture,event.passive)
70+
add(event.name,cur,event.once,event.capture,event.passive,event.params)
6571
}elseif(cur!==old){
6672
old.fns=cur
6773
on[name]=old

‎src/platforms/weex/entry-framework.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,10 @@ const jsHandlers = {
122122
}
123123
}
124124

125-
functionfireEvent(instance,nodeId,type,e,domChanges){
125+
functionfireEvent(instance,nodeId,type,e,domChanges,params){
126126
constel=instance.document.getRef(nodeId)
127127
if(el){
128-
returninstance.document.fireEvent(el,type,e,domChanges)
128+
returninstance.document.fireEvent(el,type,e,domChanges,params)
129129
}
130130
returnnewError(`invalid element reference "${nodeId}"`)
131131
}

‎src/platforms/weex/runtime/modules/events.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ function add (
88
event:string,
99
handler:Function,
1010
once:boolean,
11-
capture:boolean
11+
capture:boolean,
12+
passive?:boolean,
13+
params?:Array<any>
1214
){
1315
if(capture){
1416
console.log('Weex do not support event in bubble phase.')
@@ -26,7 +28,7 @@ function add (
2628
}
2729
}
2830
}
29-
target.addEvent(event,handler)
31+
target.addEvent(event,handler,params)
3032
}
3133

3234
functionremove(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp