Skip to content

Object v-bind taking precedence over earlier attributes #2059

Closed
@skirtles-code

Description

@skirtles-code

Version

3.0.0-rc.10

Reproduction link

https://jsfiddle.net/skirtle/f78Lhcmt/

Steps to reproduce

The important section is this:

<my-child abc="specific" v-bind="{ abc: 'object' }" />

Note that abc is set in two different ways.

What is expected?

In Vue 2 the value of abc would have been 'specific'.

What is actually happening?

abc is 'object'.

The order of the attributes now matters.

I also experimented with using :abc for the first attribute but it doesn't seem to matter whether the prop is static or dynamic.


I know this topic has been discussed several times before but I haven't been able to find any official confirmation that this has been changed intentionally.

A look through the tests seems to suggest that this is being tested, so my guess is that it is an intentional change.

The most recent discussion I could find on this topic was 3 weeks ago. vue#11594. While that was a discussion about Vue 2 it does seem odd that the change in Vue 3 wasn't mentioned if it is indeed an intentional change.

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