From c24f3e4208cd045832002ee9916559f6fe0dc2b5 Mon Sep 17 00:00:00 2001 From: Mads K Date: Thu, 2 Nov 2017 21:58:21 +0100 Subject: [PATCH] fix(events): properly $off array of events (#6949) --- src/core/instance/events.js | 2 +- test/unit/features/instance/methods-events.spec.js | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) 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)