You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**QUEBRA:** Quando usados em componentes customizados, `v-model`o nome padrão da propriedade e do evento mudaram:
12
+
-**QUEBRA:** Quando usado em componentes customizados, o nome padrão da propriedade e do evento do `v-model` mudaram:
13
13
- prop: `value` -> `modelValue`;
14
14
- event: `input` -> `update:modelValue`;
15
-
-**QUEBRA:** O modificador `.sync`no que existia no `v-bind` e sua aplicação no componente `model` foram subistituidos pelo`v-model` com um argumento;
16
-
-**NOVO:**Multiplas atribuições do `v-model` no mesmo componente são possíveis agora;
15
+
-**QUEBRA:** O modificador `.sync` que existia no `v-bind` e a opção `model`de componentes foram substituídos pelo`v-model` com um argumento;
16
+
-**NOVO:**Múltiplos vínculos do `v-model` no mesmo componente são possíveis agora;
17
17
-**NOVO:** Adicionado a possibilidade de criar modificadores para o `v-model`.
18
18
19
19
Para mais informações, continue lendo!
20
20
21
21
## Introdução
22
22
23
-
Quando o Vue 2.0 foi lançado, a diretiva `v-model` exigia para os desenvolvedores sempre usar a propriedade `value`. E se os desenvolvedores precisassem usar uma propriedade diferente para um outro propósito, eles deveriam recorrer ao uso do `v-bind.sync`. Além disso, essa relação fixa entre `v-model` e` value` levou a problemas com a forma como os elementos nativos e personalizados eram tratados
23
+
Quando o Vue 2.0 foi lançado, a diretiva `v-model` exigia para os desenvolvedores sempre usar a propriedade `value`. E se os desenvolvedores precisassem usar uma propriedade diferente para um outro propósito, eles deveriam recorrer ao uso do `v-bind.sync`. Além disso, essa relação fixa entre `v-model` e` value` levou à problemas com a forma como os elementos nativos e personalizados eram tratados.
24
24
25
-
Na versão 2.2, introduzimos a opção do componente `model` que permite ao componente personalizar a propriedade e o evento para usar no`v-model`. No entanto, isso ainda permitia que um único `v-model` fosse usado no componente.
25
+
Na versão 2.2, introduzimos a opção de componente `model` que permite ao componente personalizar a propriedade e o evento para usar no`v-model`. No entanto, isso ainda apenas permitia que um único `v-model` fosse usado no componente.
26
26
27
27
Com o Vue 3, a API para vinculação de dados bidirecional está sendo padronizada para reduzir a confusão e permitir aos desenvolvedores mais flexibilidade com a diretiva `v-model`.
28
28
29
-
## 2.x Sintaxe
29
+
## Sintaxe v2.x
30
30
31
-
Na 2.x, usando um `v-model` em um componente era equivalente a passar uma propriedade `value` e emitir um evento `input`:
31
+
Na v2.x, usando um `v-model` em um componente era equivalente a passar uma propriedade `value` e emitir um evento `input`:
32
32
33
33
```html
34
34
<ChildComponentv-model="pageTitle" />
@@ -38,7 +38,7 @@ Na 2.x, usando um `v-model` em um componente era equivalente a passar uma propri
Em alguns casos, podemos precisar de uma "ligação bidirecional" para um propiedade (às vezes além do `v-model` existente para uma propriedade diferente). Para fazer isso, recomendamos a emissão de eventos no padrão de `update:myPropName`. Por exemplo, para `ChildComponent` do exemplo anterior com a propriedade `title`, poderíamos comunicar a intenção de atribuir um novo valor com:
77
+
Em alguns casos, podemos precisar de uma "ligação bidirecional" para uma propriedade (às vezes além do `v-model` existente para uma propriedade diferente). Para fazer isso, recomendamos a emissão de eventos no padrão de `update:myPropName`. Por exemplo, para `ChildComponent` do exemplo anterior com a propriedade `title`, poderíamos comunicar a intenção de atribuir um novo valor com:
78
78
79
79
```js
80
80
this.$emit('update:title', newValue)
@@ -92,11 +92,10 @@ Por conveniência, tínhamos uma abreviatura para esse padrão com o modificador
92
92
<ChildComponent:title.sync="pageTitle" />
93
93
```
94
94
95
-
## 3.x Sintaxe
95
+
## Sintaxe v3.x
96
96
97
97
Na versão 3.x o `v-model` em um componente personalizado é equivalente a passar um prop `modelValue` e emitir um evento `update:modelValue`:
98
98
99
-
100
99
```html
101
100
<ChildComponentv-model="pageTitle" />
102
101
@@ -108,7 +107,7 @@ Na versão 3.x o `v-model` em um componente personalizado é equivalente a passa
108
107
/>
109
108
```
110
109
111
-
### `v-model` argumentos
110
+
### Argumentos do `v-model`
112
111
113
112
Para alterar o nome de um modelo, em vez de uma opção de componente `model`, agora podemos passar um _argumento_ para` v-model`:
114
113
@@ -120,7 +119,7 @@ Para alterar o nome de um modelo, em vez de uma opção de componente `model`, a

124
123
125
124
Isso também serve como um substituto para o modificador `.sync` e nos permite ter vários `v-model`s no componente personalizado.
126
125
@@ -137,31 +136,31 @@ Isso também serve como um substituto para o modificador `.sync` e nos permite t
137
136
/>
138
137
```
139
138
140
-
### `v-model` modificadores
139
+
### Modificadores do `v-model`
141
140
142
-
Além dos modificadores `v-model` fixos, já existentes na 2.x, como `.trim`, agora 3.x suporta modificadores personalizados:
141
+
Além dos modificadores do `v-model` fixos já existentes na v2.x, como `.trim`, agora v3.x suporta modificadores personalizados:
143
142
144
143
```html
145
144
<ChildComponentv-model.capitalize="pageTitle" />
146
145
```
147
146
148
-
Leia mais sobre modificadores do `v-model` customizados na seção [Eventos customizados](../component-custom-events.html#handling-v-model-modifiers).
147
+
Leia mais sobre modificadores do `v-model` customizados na seção [Eventos Customizados](../component-custom-events.html#handling-v-model-modifiers).
149
148
150
149
## Estratégia de Migração
151
150
152
-
Nós recomedamos:
151
+
Nós recomendamos:
153
152
154
153
- verificar seu código aonde utilizado o `.sync` e substituí-lo por `v-model`:
155
154
156
155
```html
157
156
<ChildComponent:title.sync="pageTitle" />
158
157
159
-
<!--subistituir por -->
158
+
<!--substituir por -->
160
159
161
160
<ChildComponentv-model:title="pageTitle" />
162
161
```
163
-
164
-
- para todos os `v-model`s sem argumento, certifique-se de alterar o nome das propriedades e eventos para `modelValue` e `update:modelValue` respectivamente
162
+
163
+
- para todos os `v-model`s sem argumentos, certifique-se de alterar o nome das propriedades e eventos para `modelValue` e `update:modelValue` respectivamente
165
164
166
165
```html
167
166
<ChildComponentv-model="pageTitle" />
@@ -182,10 +181,10 @@ Nós recomedamos:
182
181
}
183
182
```
184
183
185
-
## Próximos passos
184
+
## Próximos Passos
186
185
187
186
Para mais informações na nova sintaxe do `v-model`, veja:
0 commit comments