diff --git a/src/core/instance/events.js b/src/core/instance/events.js index 469ef970b15..587799969c2 100644 --- a/src/core/instance/events.js +++ b/src/core/instance/events.js @@ -92,7 +92,7 @@ export function eventsMixin (Vue: Class) { if (!cbs) { return vm } - if (arguments.length === 1) { + if (!fn) { vm._events[event] = null return vm } diff --git a/test/unit/features/instance/methods-events.spec.js b/test/unit/features/instance/methods-events.spec.js index be150076992..88834577f26 100644 --- a/test/unit/features/instance/methods-events.spec.js +++ b/test/unit/features/instance/methods-events.spec.js @@ -41,6 +41,13 @@ describe('Instance methods events', () => { expect(spy.calls.count()).toBe(1) }) + it('$off multi event without callback', () => { + vm.$on(['test1', 'test2'], spy) + vm.$off(['test1', 'test2']) + vm.$emit('test1') + expect(spy).not.toHaveBeenCalled() + }) + it('$once', () => { vm.$once('test', spy) vm.$emit('test', 1, 2, 3)