Skip to content

Custom Transition Component triggering ignoring done() inside leave hook #4702

@smyth64

Description

@smyth64

Vue.js version

2.1.8

Reproduction Link

http://codepen.io/schmidigital/pen/oBxqNM

Steps to reproduce

Click on "Section 1"
Inside the console we see:

before enter
enter
after enter

Pressing Button "Section 2"

before leave
leave
before enter
after leave
enter
after enter

The "Section 1" Content is leaving instantly, whereas "Section 2" is fading in.

Pressing Button "Section 1"

before enter
enter
before leave
after enter
after leave

The "Content 2" section now is fading out whereas "Content 1" is fading in.

As we can see the hooks are also triggered in a different order.

What is Expected?

The Sections should fadein/fadeout same as from "Section 2" to "Section 1" instead of disappearing immediatly as seen from "Section 1" to "Section 2"

What is actually happening?

Depending on the order of the elements, they are animated differently.
If you put

slide-transition
  div(v-if="activeSection == 1") Section 1!    
slide-transition
  div(v-if="activeSection == 2") Section 2!   

in this order

slide-transition
  div(v-if="activeSection == 1") Section 1!    
slide-transition
  div(v-if="activeSection == 2") Section 2!   

Then the problem is vice versa!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions