Skip to content

Commit

Permalink
fix: cleanup events before adding new ones
Browse files Browse the repository at this point in the history
  • Loading branch information
logaretm committed Jul 26, 2019
1 parent 5850000 commit 7aff37b
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions src/utils/vnode.js
Expand Up @@ -57,22 +57,21 @@ export function findModelConfig (vnode) {

// Adds a listener to vnode listener object.
export function mergeVNodeListeners (obj, eventName, handler) {
// Has a single listener.
// Has a single listener, convert to array.
if (isCallable(obj[eventName])) {
const prevHandler = obj[eventName];
obj[eventName] = [prevHandler];
}

// has other listeners.
if (Array.isArray(obj[eventName])) {
obj[eventName].push(handler);
return;
}

// no listener at all.
// no listeners, create the array.
if (isNullOrUndefined(obj[eventName])) {
obj[eventName] = [handler];
obj[eventName] = [];
} else {
// clean up the array #2185
obj[eventName] = obj[eventName].filter(ev => !ev._vee_isUnique);
}

obj[eventName].push(handler);
}

// Adds a listener to a native HTML vnode.
Expand Down

0 comments on commit 7aff37b

Please sign in to comment.