Skip to content

Slot <template> not working when its name starts with an underscore (_) since v3.5.14 #13611

Open
@laurens94

Description

@laurens94

Vue version

v3.5.14 - v3.5.17

Link to minimal reproduction

https://play.vuejs.org/#eNq9Vd9P3DAM/les7gEJHa2mbS+3gsbuhrYJhjSQ9rAiyLW+u0CaVElaOCH+9znN9ReFaUzTpD609mf7s+t8uQ8OiyKsSgymQWwxLwSzeJBIgPgjM3jMNqq09TdZGj9Ue3y5nwRMbmZKZtxyJWdrTG8+o8YfXIi5SgJ4pZnMVG6EspLlPmmdpmhfAQ4NCCVXwAzcIjCNkDYZmRAb0Cgz1JwQds0NuGQTekVArZUGlaalNmG80L2c5+R2QMgUGrljASuUsGYVglWAd9xY4LLOkqq8UBKlDVt2UUMvjgbzANiaz8rFrAnrmmpn88pyK7puyZXxCozdCKSRpUooPYWVRpRJcHBVg6+gjb5V+sbEEYV0qfs8nqh3mZWauYH9ac024AV1vWHUehwNtuQR1dikmhcWBJMr4mENbYVBW/oJc0qkLfRzwlKrHHbCQSG3nTvvexFdyRbfmRq0w9Mq0a/+zZbCPlhdIsHjyHMlZsGEmFLokq/Ca6MknYx7l80NMi+4QH1auFzUzRRqj/PZTYG15WcSVNzinqlWe0Ix2t4kmBDAGaNUcOrIGz7UIVGZs5wnwcWkzcT0CgkzpfdPZ9/wzuEbZ2lwjksu8UjpmWDGHHEUWV3YddLicpWVAp9J4p3f0ShRuk48bFHKjJrr4YzVPK2ZDHJfmzsfUWg0qCsq04WoUqd4wopRFGGVqPArTfSkJTdAcALQ6mTePe4Jjfd8kRa1GlcQfOF/wHaBR5070/z0JAn8Zzdyc8OLY76ot2NMXCk75zQX13IY+eiH2k2cZSrKrO5lW5ey6TTa3Y12Q7fwXY3Gmj1jt26sYzPtsy95kcgHt9e0n8N1H0t3d4zjWgid/tIBHAoySQFtPX30oX1TIwcvONXDY/T4FI+J9tnVUkiktmyeUDCNGfnP3UVAj9PvDJesFNbLPZ1ZW4sIXQxbYa1vht4d42Ka/ik705buHW7XJBJA64+aDr5Gf8O02thcI04jw04j20mNOmkF9p9100n2f+nor//4ZUUFiSb96Tfhu/D12+DhF76Uxyk=

Steps to reproduce

It seems this issue needs the following conditions to arise:

  • Have some templates/slots that start their name with an underscore (_)
  • The component that contains the templates/slots (SubComponent.vue), is placed in the template of another component (BaseLayout.vue) and is a sibling of a conditionally rendered template for a slot of BaseLayout.vue.

What is expected?

The same behavior as in Vue v3.5.13: the template is being rendered for _slot2

What is actually happening?

The default slot content is being rendered and not replaced with the template content.

Any additional comments?

Since Vue v3.5.14 this issue occurs. As a workaround I locked the version to v3.5.13.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🔨 p3-minor-bugPriority 3: this fixes a bug, but is an edge case that only affects very specific usage.has workaroundA workaround has been found to avoid the problemregression

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions