Skip to content

Error "Mismatching childNodes vs. VNodes" when having svg element with camelcase tag name such as "animateTransform", "animateMotion" or "linearGradient" in template #4195

@aprilandjan

Description

@aprilandjan

Version

vue: 2.0.5,
vue-server-renderer: 2.0.5

Reproduction Link

DEMO

Steps to reproduce

  1. follow guidelines of vue2.0 server-side-rendering and establish the whole server-side-rendering workflow
  2. replace template in assets/app.js with the template which have svg elements animateTransform or animateMotion(actually I copied the svg from MDN(animateTransform, animateMotion
  3. restart the service, and browse the rendered page.

What is Expected?

The VNodes and the actual childNodes are matching.

What is actually happening?

warning and error occered: Mismatching childNodes vs. VNodes: [animatetransform]

What's more

  • It seems that if I use animatetransform instead of animateTransform, the rendered tag is still animateTransform but everything goes right
  • other tags with camelcase name such as 'animateMotion' 'linearGradiant' behave the same

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions