Skip to content

Commit e94ad14

Browse files
committed
remove vm argument in transition hooks
1 parent ef31193 commit e94ad14

File tree

2 files changed

+28
-30
lines changed

2 files changed

+28
-30
lines changed

src/platforms/web/runtime/modules/transition.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export function nextFrame (fn: Function) {
3838

3939
export function enter (vnode: VNodeWithData) {
4040
const el: any = vnode.elm
41-
const vm = vnode.context
4241

4342
// call leave callback now
4443
if (el._leaveCb) {
@@ -84,7 +83,7 @@ export function enter (vnode: VNodeWithData) {
8483
enterHook &&
8584
// enterHook may be a bound method which exposes
8685
// the length of original fn as _length
87-
(enterHook._length || enterHook.length) > 2
86+
(enterHook._length || enterHook.length) > 1
8887

8988
const cb = el._enterCb = once(() => {
9089
if (expectsCSS) {
@@ -94,9 +93,9 @@ export function enter (vnode: VNodeWithData) {
9493
if (expectsCSS) {
9594
removeTransitionClass(el, startClass)
9695
}
97-
enterCancelledHook && enterCancelledHook(el, vm)
96+
enterCancelledHook && enterCancelledHook(el)
9897
} else {
99-
afterEnterHook && afterEnterHook(el, vm)
98+
afterEnterHook && afterEnterHook(el)
10099
}
101100
el._enterCb = null
102101
})
@@ -108,11 +107,11 @@ export function enter (vnode: VNodeWithData) {
108107
if (pendingNode && pendingNode.tag === vnode.tag && pendingNode.elm._leaveCb) {
109108
pendingNode.elm._leaveCb()
110109
}
111-
enterHook && enterHook(el, vm, cb)
110+
enterHook && enterHook(el, cb)
112111
})
113112

114113
// start enter transition
115-
beforeEnterHook && beforeEnterHook(el, vm)
114+
beforeEnterHook && beforeEnterHook(el)
116115
if (expectsCSS) {
117116
addTransitionClass(el, startClass)
118117
addTransitionClass(el, activeClass)
@@ -131,7 +130,6 @@ export function enter (vnode: VNodeWithData) {
131130

132131
export function leave (vnode: VNodeWithData, rm: Function) {
133132
const el: any = vnode.elm
134-
const vm = vnode.context
135133

136134
// call enter callback now
137135
if (el._enterCb) {
@@ -160,7 +158,7 @@ export function leave (vnode: VNodeWithData, rm: Function) {
160158
leave &&
161159
// leave hook may be a bound method which exposes
162160
// the length of original fn as _length
163-
(leave._length || leave.length) > 2
161+
(leave._length || leave.length) > 1
164162

165163
const cb = el._leaveCb = once(() => {
166164
if (el.parentNode && el.parentNode._pending) {
@@ -173,10 +171,10 @@ export function leave (vnode: VNodeWithData, rm: Function) {
173171
if (expectsCSS) {
174172
removeTransitionClass(el, leaveClass)
175173
}
176-
leaveCancelled && leaveCancelled(el, vm)
174+
leaveCancelled && leaveCancelled(el)
177175
} else {
178176
rm()
179-
afterLeave && afterLeave(el, vm)
177+
afterLeave && afterLeave(el)
180178
}
181179
el._leaveCb = null
182180
})
@@ -192,7 +190,7 @@ export function leave (vnode: VNodeWithData, rm: Function) {
192190
if (!vnode.data.show) {
193191
(el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode
194192
}
195-
beforeLeave && beforeLeave(el, vm)
193+
beforeLeave && beforeLeave(el)
196194
if (expectsCSS) {
197195
addTransitionClass(el, leaveClass)
198196
addTransitionClass(el, leaveActiveClass)
@@ -203,7 +201,7 @@ export function leave (vnode: VNodeWithData, rm: Function) {
203201
}
204202
})
205203
}
206-
leave && leave(el, vm, cb)
204+
leave && leave(el, cb)
207205
if (!expectsCSS && !userWantsControl) {
208206
cb()
209207
}

test/unit/features/transition/transition.spec.js

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { isIE9 } from 'web/util/index'
44
import { nextFrame } from 'web/runtime/modules/transition'
55

66
if (!isIE9) {
7-
describe('Transition system', () => {
7+
fdescribe('Transition system', () => {
88
const duration = injectStyles()
99

1010
let el
@@ -203,23 +203,23 @@ if (!isIE9) {
203203
`,
204204
data: { ok: true },
205205
methods: {
206-
beforeLeave: (el, vm) => {
206+
beforeLeave: (el) => {
207207
expect(el).toBe(vm.$el.children[0])
208208
expect(el.className).toBe('test')
209-
beforeLeaveSpy(el, vm)
209+
beforeLeaveSpy(el)
210210
},
211-
leave: (el, vm) => onLeaveSpy(el, vm),
212-
afterLeave: (el, vm) => afterLeaveSpy(el, vm),
213-
beforeEnter: (el, vm) => {
211+
leave: (el) => onLeaveSpy(el),
212+
afterLeave: (el) => afterLeaveSpy(el),
213+
beforeEnter: (el) => {
214214
expect(vm.$el.contains(el)).toBe(false)
215215
expect(el.className).toBe('test')
216-
beforeEnterSpy(el, vm)
216+
beforeEnterSpy(el)
217217
},
218-
enter: (el, vm) => {
218+
enter: (el) => {
219219
expect(vm.$el.contains(el)).toBe(true)
220-
onEnterSpy(el, vm)
220+
onEnterSpy(el)
221221
},
222-
afterEnter: (el, vm) => afterEnterSpy(el, vm)
222+
afterEnter: (el) => afterEnterSpy(el)
223223
}
224224
}).$mount(el)
225225

@@ -229,26 +229,26 @@ if (!isIE9) {
229229
let _el = vm.$el.children[0]
230230
vm.ok = false
231231
waitForUpdate(() => {
232-
expect(beforeLeaveSpy).toHaveBeenCalledWith(_el, vm)
233-
expect(onLeaveSpy).toHaveBeenCalledWith(_el, vm)
232+
expect(beforeLeaveSpy).toHaveBeenCalledWith(_el)
233+
expect(onLeaveSpy).toHaveBeenCalledWith(_el)
234234
expect(vm.$el.children[0].className).toBe('test test-leave test-leave-active')
235235
}).thenWaitFor(nextFrame).then(() => {
236236
expect(afterLeaveSpy).not.toHaveBeenCalled()
237237
expect(vm.$el.children[0].className).toBe('test test-leave-active')
238238
}).thenWaitFor(duration + 10).then(() => {
239-
expect(afterLeaveSpy).toHaveBeenCalledWith(_el, vm)
239+
expect(afterLeaveSpy).toHaveBeenCalledWith(_el)
240240
expect(vm.$el.children.length).toBe(0)
241241
vm.ok = true
242242
}).then(() => {
243243
_el = vm.$el.children[0]
244-
expect(beforeEnterSpy).toHaveBeenCalledWith(_el, vm)
245-
expect(onEnterSpy).toHaveBeenCalledWith(_el, vm)
244+
expect(beforeEnterSpy).toHaveBeenCalledWith(_el)
245+
expect(onEnterSpy).toHaveBeenCalledWith(_el)
246246
expect(vm.$el.children[0].className).toBe('test test-enter test-enter-active')
247247
}).thenWaitFor(nextFrame).then(() => {
248248
expect(afterEnterSpy).not.toHaveBeenCalled()
249249
expect(vm.$el.children[0].className).toBe('test test-enter-active')
250250
}).thenWaitFor(duration + 10).then(() => {
251-
expect(afterEnterSpy).toHaveBeenCalledWith(_el, vm)
251+
expect(afterEnterSpy).toHaveBeenCalledWith(_el)
252252
expect(vm.$el.children[0].className).toBe('test')
253253
}).then(done)
254254
})
@@ -263,10 +263,10 @@ if (!isIE9) {
263263
</div>`,
264264
data: { ok: true },
265265
methods: {
266-
enter: (el, vm, cb) => {
266+
enter: (el, cb) => {
267267
next = cb
268268
},
269-
leave: (el, vm, cb) => {
269+
leave: (el, cb) => {
270270
next = cb
271271
}
272272
}

0 commit comments

Comments
 (0)