Skip to content
The translation is synced to the docs on of which the commit hash is e0f492e.

Comportamento de Fusão de v-bind
rutura

Visão Geral

  • RUTURA: Ordem dos vínculos para v-bind afetará o resultado da interpretação.

Introdução

Quando vinculamos dinamicamente os atributos num elemento, um cenário comum envolve usar ambas a sintaxe v-bind="object" bem como atributos individuais no mesmo elemento. No entanto, isto levanta questões quanto a prioridade da combinação.

Sintaxe da 2.x

Na 2.x, se um elemento tinha ambos v-bind="object" e um atributo individual idêntico definidos, o atributo individual sempre sobrescreveria os vínculos na object:

html
<!-- modelo de marcação -->
<div id="red" v-bind="{ id: 'blue' }"></div>
<!-- resultado -->
<div id="red"></div>

Sintaxe da 3.x

Na 3.x, se um elemento tiver ambos v-bind="object" e um um atributo individual idêntico definidos, a ordem de como os vínculos são declarados determina como serão combinados. Em outras palavras, ao invés de assumir que os programadores querem que o atributo individual sempre sobreponha o que foi definido no object, agora os programadores têm mais controlo sobre o comportamento de combinação desejado:

html
<!-- modelo de marcação -->
<div id="red" v-bind="{ id: 'blue' }"></div>
<!-- resultado -->
<div id="blue"></div>

<!-- modelo de marcação -->
<div v-bind="{ id: 'blue' }" id="red"></div>
<!-- resultado -->
<div id="red"></div>

Estratégia de Migração

Se dependemos desta funcionalidade de sobreposição para v-bind, atualmente recomendamos garantir que o nosso atributo v-bind está definido antes dos atributos individuais.

Opção de Construção de Migração: COMPILER_V_BIND_OBJECT_ORDER