You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
597 B
23 lines
597 B
|
3 years ago
|
/* @flow */
|
||
|
|
|
||
|
|
import { warn, extend, isPlainObject } from 'core/util/index'
|
||
|
|
|
||
|
|
export function bindObjectListeners (data: any, value: any): VNodeData {
|
||
|
|
if (value) {
|
||
|
|
if (!isPlainObject(value)) {
|
||
|
|
process.env.NODE_ENV !== 'production' && warn(
|
||
|
|
'v-on without argument expects an Object value',
|
||
|
|
this
|
||
|
|
)
|
||
|
|
} else {
|
||
|
|
const on = data.on = data.on ? extend({}, data.on) : {}
|
||
|
|
for (const key in value) {
|
||
|
|
const existing = on[key]
|
||
|
|
const ours = value[key]
|
||
|
|
on[key] = existing ? [].concat(existing, ours) : ours
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return data
|
||
|
|
}
|