Skip to content

Commit ef3f905

Browse files
committed
Review on api/directives
1 parent 764b10c commit ef3f905

File tree

1 file changed

+57
-59
lines changed

1 file changed

+57
-59
lines changed

src/api/directives.md

Lines changed: 57 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
- **Detalhes:**
88

9-
Atualiza o [textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) do elemento. Se você precisa atualizar a parte de `textContent`, você deve usar [interpolações mustache](/guide/template-syntax.html#text).
9+
Atualiza o [textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) do elemento. Se você precisa atualizar a parte de `textContent`, você deve usar [interpolações mustache](/guide/template-syntax.html#texto).
1010

1111
- **Exemplo:**
1212

@@ -16,21 +16,21 @@
1616
<span>{{msg}}</span>
1717
```
1818

19-
- **Ver também:** [Sintaxe de Templates - Interpolações](../guide/template-syntax.html#text)
19+
- **Ver também:** [Sintaxe de Templates - Interpolações](../guide/template-syntax.html#texto)
2020

2121
## v-html
2222

2323
- **Espera:** `string`
2424

2525
- **Detalhes:**
2626

27-
Atualiza o [innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) do elemento. **Perceba que os conteúdos são inseridos como HTML puro - eles não serão compilados como templates Vue**. Se você se encontra tentando compor templates usando `v-html`, tente repensar a solução usando componentes em vez disso.
27+
Atualiza o [innerHTML](https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML) do elemento. **Perceba que os conteúdos são inseridos como HTML puro - eles não serão compilados como templates Vue**. Se você se encontra tentando compor *templates* usando `v-html`, tente repensar a solução usando componentes em vez disso.
2828

29-
::: warning
30-
Renderizar dinamicamente HTML arbitrário em seu website pode ser muito perigoso porque isso pode facilmente levar a [ataques XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Apenas use `v-html` em conteúdo confiável e **nunca** em conteúdo fornecido por usuário.
29+
::: warning AVISO
30+
Renderizar dinamicamente HTML arbitrário em seu website pode ser muito perigoso porque isso pode facilmente levar a [ataques XSS](https://en.wikipedia.org/wiki/Cross-site_scripting). Apenas use `v-html` em conteúdo confiável e **nunca** em conteúdo fornecido pelo usuário.
3131
:::
3232

33-
Em [Componentes Single File](../guide/single-file-component.html), estilos `scoped` não serão aplicados a conteúdos `v-html`, pois tal HTML não é processado pelo compilador de templates do Vue. Se você quer atingir conteúdo `v-html` com CSS com escopo, é possível utilizar [CSS modules](https://vue-loader.vuejs.org/en/features/css-modules.html) ou um elemento global adicional `<style>` , com uma estratégia manual de escopo como BEM.
33+
Em [Componentes Single-File](../guide/single-file-component.html), estilos `scoped` não serão aplicados a conteúdos `v-html`, pois tal HTML não é processado pelo compilador de *templates* do Vue. Se você quer atingir o conteúdo de `v-html` com CSS `scoped`, é possível utilizar [CSS Modules](https://vue-loader.vuejs.org/en/features/css-modules.html) ou um adicional elemento `<style>` global, com uma estratégia manual de escopo como BEM.
3434

3535
- **Exemplo:**
3636

@@ -62,7 +62,7 @@
6262

6363
Esta diretiva dispara transições quando sua condição muda.
6464

65-
Quando usada em conjunto com `v-if`, `v-for` tem uma prioridade maior. Não recomendamos o uso dessas duas diretivas juntas em um elemento - consulte a [guia de renderização de listas](../guide/list.html#v-for-with-v-if) para obter detalhes.
65+
Quando usados juntos, `v-if` tem uma prioridade maior que `v-for`. Não recomendamos o uso dessas duas diretivas juntas em um elemento - consulte o [guia de renderização de listas](../guide/list.html#utilizando-v-if-com-v-for) para obter detalhes.
6666

6767
- **Ver também:** [Renderização Condicional - v-if](../guide/conditional.html#v-if)
6868

@@ -74,7 +74,7 @@
7474

7575
- **Uso:**
7676

77-
Significa o bloco "senão" de uma cadeia `v-if` ou `v-if`/`v-else-if`.
77+
Denota o "bloco senão" de um `v-if` ou cadeia de `v-if`/`v-else-if`.
7878

7979
```html
8080
<div v-if="Math.random() > 0.5">
@@ -95,7 +95,7 @@
9595

9696
- **Uso:**
9797

98-
Significa o bloco "senão caso" para `v-if`. Pode ser encadeado.
98+
Denota o "bloco senão se" para `v-if`. Pode ser encadeado.
9999

100100
```html
101101
<div v-if="type === 'A'">
@@ -108,7 +108,7 @@
108108
C
109109
</div>
110110
<div v-else>
111-
Não A/B/C
111+
Não é A/B/C
112112
</div>
113113
```
114114

@@ -120,15 +120,15 @@
120120

121121
- **Uso:**
122122

123-
Renderiza o elemento ou bloco de template múltiplas vezes baseado nos dados de origem (*source data*). O valor da diretiva deve usar a sintaxe especial `alias in expression` para fornecer um alias para o elemento atual ser iterado em:
123+
Renderiza o elemento ou bloco de *template* múltiplas vezes baseado nos dados de origem (*source data*). O valor da diretiva deve usar a sintaxe especial `alias in expression` para fornecer um apelido para o elemento atual sendo iterado:
124124

125125
```html
126126
<div v-for="item in items">
127127
{{ item.text }}
128128
</div>
129129
```
130130

131-
Alternativamente, você também pode especificar um alias para o índice (ou a chave, se usada em um Objeto):
131+
Alternativamente, você também pode especificar um apelido para o índice (ou a chave, se usada em um Objeto):
132132

133133
```html
134134
<div v-for="(item, index) in items"></div>
@@ -144,9 +144,9 @@
144144
</div>
145145
```
146146

147-
`v-for` também pode trabalhar em valores que implementam o [Protocolo Iterável](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), incluindo `Map` e `Set` nativos.
147+
`v-for` também pode funcionar em valores que implementam o [Protocolo Iterável](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#The_iterable_protocol), incluindo `Map` e `Set` nativos.
148148

149-
O uso detalhado de `v-for` é explicado na seção de Guia com *link* abaixo.
149+
O uso detalhado de `v-for` é explicado na seção do guia com *link* abaixo.
150150

151151
- **Ver também:**
152152
- [Renderização de Listas](../guide/list.html)
@@ -165,7 +165,7 @@
165165
- `.prevent` - chama `event.preventDefault()`.
166166
- `.capture` - adiciona escuta de eventos em modo de captura.
167167
- `.self` - aciona o manipulador somente se o evento foi disparado a partir deste elemento.
168-
- `.{keyAlias}` - aciona o manipulador apenas em certas chaves.
168+
- `.{keyAlias}` - aciona o manipulador apenas em certas teclas.
169169
- `.once` - aciona o manipulador somente uma vez.
170170
- `.left` - aciona o manipulador somente para eventos do botão esquerdo do mouse.
171171
- `.right` - aciona o manipulador somente para eventos do botão direito do mouse.
@@ -176,16 +176,16 @@
176176

177177
Atribui uma escuta de evento ao elemento. O tipo de evento é indicado pelo argumento. A expressão pode ser um nome de método, uma declaração *inline*, ou omitida quando há modificadores presentes.
178178

179-
Quando usada em um elemento normal, escuta somente [**eventos nativos de DOM**](https://developer.mozilla.org/en-US/docs/Web/Events). Quando usada em um componente de elemento personalizado, escuta **eventos personalizados** emitidos naquele componente-filho.
179+
Quando usado em um elemento normal, escuta somente [**eventos nativos do DOM**](https://developer.mozilla.org/en-US/docs/Web/Events). Quando usado em um componente de elemento personalizado, escuta **eventos personalizados** emitidos naquele componente-filho.
180180

181-
Quando escutando a eventos nativos de DOM, o método recebe o evento nativo como argumento único. Quando usada declaração *inline*, ela tem acesso à propriedade especial `$event`: `v-on:click="handle('ok', $event)"`.
181+
Quando escutando a eventos nativos do DOM, o método recebe o evento nativo como argumento único. Quando usada declaração *inline*, ela tem acesso à propriedade especial `$event`: `v-on:click="handle('ok', $event)"`.
182182

183-
`v-on` também oferece suporte à vinculação a um objeto de pares de evento/ouvinte sem um argumento. Observe que ao usar a sintaxe do objeto, ela não oferece suporte a nenhum modificador.
183+
`v-on` também oferece suporte à vinculação a um objeto de pares evento/ouvinte sem um argumento. Observe que ao usar a sintaxe de objeto, ela não oferece suporte a nenhum modificador.
184184

185185
- **Exemplo:**
186186

187187
```html
188-
<!-- manipulador de método -->
188+
<!-- método manipulador -->
189189
<button v-on:click="doThis"></button>
190190

191191
<!-- evento dinâmico -->
@@ -200,19 +200,19 @@
200200
<!-- forma abreviada para o evento dinâmico -->
201201
<button @[event]="doThis"></button>
202202

203-
<!-- para a propagação -->
203+
<!-- para a propagação -->
204204
<button @click.stop="doThis"></button>
205205

206-
<!-- previne padrão -->
206+
<!-- previne o padrão -->
207207
<button @click.prevent="doThis"></button>
208208

209-
<!-- previne padrão sem expressão -->
209+
<!-- previne o padrão sem expressão -->
210210
<form @submit.prevent></form>
211211

212-
<!-- modificador em cadeia -->
212+
<!-- modificadores encadeados -->
213213
<button @click.stop.prevent="doThis"></button>
214214

215-
<!-- modificador de chave usando keyAlias -->
215+
<!-- modificador de tecla usando keyAlias -->
216216
<input @keyup.enter="onEnter" />
217217

218218
<!-- o evento de clique será acionado somente uma vez -->
@@ -233,34 +233,34 @@
233233

234234
- **Ver também:**
235235
- [Manipulação de Eventos](../guide/events.html)
236-
- [Componentes - Eventos Personalizados](../guide/component-basics.html#listening-to-child-components-events)
236+
- [Componentes - Eventos Personalizados](../guide/component-basics.html#escutando-eventos-dos-filhos)
237237

238238
## v-bind
239239

240240
- **Forma abreviada:** `:`
241241

242-
- **Espera:** `any (with argument) | Object (without argument)`
242+
- **Espera:** `any (com argumento) | Object (sem argumento)`
243243

244244
- **Argumento:** `attrOrProp (opcional)`
245245

246246
- **Modificadores:**
247247

248-
- `.camel` - transforma o nome do atributo de kebab-case para camelCase.
248+
- `.camel` - transforma o nome do atributo de *kebab-case* para *camelCase*.
249249

250250
- **Uso:**
251251

252-
Dinamicamente faz a interligação de um ou mais atributos ou propriedades de um componente a uma expressão.
252+
Dinamicamente vincula um ou mais atributos ou propriedades de um componente a uma expressão.
253253

254-
Quando usado para o vínculo de atributos `class` ou `style`, suporta tipos de valores adicionais como Array ou Objects. Veja na seção do Guia abaixo para mais detalhes.
254+
Quando usado para o vínculo de atributos `class` ou `style`, suporta tipos de valores adicionais como Array ou Objects. Veja na seção do guia com *link* abaixo para mais detalhes.
255255

256-
Quando usado para vincular uma propriedade, a propriedade deve ser devidamente declarada no elemento-filho.
256+
Quando usado para vincular uma propriedade, a propriedade deve estar devidamente declarada no elemento-filho.
257257

258-
Quando usado sem argumentos, pode ser utilizado para vincular em um objeto contendo pares nome-valor. Perceba que, neste modo,`class` e `style` não suportam Array ou Objects.
258+
Quando usado sem argumento, pode ser utilizado para vincular em um objeto contendo pares nome-valor. Perceba que, neste modo,`class` e `style` não suportam Array ou Objects.
259259

260260
- **Exemplo:**
261261

262262
```html
263-
<!-- interligando a um atributo -->
263+
<!-- vinculando a um atributo -->
264264
<img v-bind:src="imageSrc" />
265265

266266
<!-- nome de atributo dinâmico -->
@@ -275,27 +275,25 @@
275275
<!-- com concatenação de string inline -->
276276
<img :src="'/path/to/images/' + fileName" />
277277

278-
<!-- interligando classes -->
278+
<!-- vinculando classes -->
279279
<div :class="{ red: isRed }"></div>
280280
<div :class="[classA, classB]"></div>
281281
<div :class="[classA, { classB: isB, classC: isC }]">
282-
283-
<!-- interligando estilos -->
282+
<!-- vinculando estilos -->
284283
<div :style="{ fontSize: size + 'px' }"></div>
285284
<div :style="[styleObjectA, styleObjectB]"></div>
286285

287-
<!-- interligando um objeto com atributos -->
286+
<!-- vinculando um objeto com atributos -->
288287
<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
289288

290-
<!-- interligando propriedade. "prop" deve ser declarado em my-component -->
289+
<!-- vinculando propriedade. "prop" deve estar declarado em my-component -->
291290
<my-component :prop="someThing"></my-component>
292291

293292
<!-- transmite todas as props do pai em comum com o componente-filho -->
294293
<child-component v-bind="$props"></child-component>
295294

296295
<!-- XLink -->
297296
<svg><a :xlink:special="foo"></a></svg>
298-
299297
</div>
300298
```
301299

@@ -305,15 +303,15 @@
305303
<svg :view-box.camel="viewBox"></svg>
306304
```
307305

308-
`.camel` não é necessário se você está usando *templates* baseados em String ou compilando com `vue-loader`/`vueify`.
306+
`.camel` não é necessário se você está usando *templates* baseados em String ou compilando com `vue-loader`/`vueify`.
309307

310308
- **Ver também:**
311309
- [Interligações em Classes e Estilos](../guide/class-and-style.html)
312-
- [Componentes - Propriedades](../guide/component-basics.html#passing-data-to-child-components-with-props)
310+
- [Componentes - Propriedades](../guide/component-basics.html#passando-dados-aos-filhos-com-propriedades)
313311

314312
## v-model
315313

316-
- **Espera:** varia baseado no valor do elemento de input de formulário ou saída de componentes
314+
- **Espera:** varia baseado no valor dos elementos de input de formulário ou *output* de componentes
317315

318316
- **Limitado a:**
319317

@@ -325,49 +323,49 @@
325323
- **Modificadores:**
326324

327325
- [`.lazy`](../guide/forms.html#lazy) - escuta por eventos `change` ao invés de `input`
328-
- [`.number`](../guide/forms.html#number) - faz a conversão da String informada para números
329-
- [`.trim`](../guide/forms.html#trim) - faz trim dos dados informados
326+
- [`.number`](../guide/forms.html#number) - converte a String do input válida para números
327+
- [`.trim`](../guide/forms.html#trim) - faz *trim* dos dados do input
330328

331329
- **Uso:**
332330

333-
Cria uma interligação de mão dupla (*two-way binding*) em um elemento de entrada (*input*) de formulário ou componente. Para uso detalhado e outras observações, veja o *link* abaixo para a seção do Guia.
331+
Cria um vínculo de mão dupla (*two-way binding*) em um elemento input de formulário ou componente. Para uso detalhado e outras observações, veja o *link* abaixo para a seção do Guia.
334332

335333
- **Ver também:**
336334
- [Interligações em Formulários](../guide/forms.html)
337-
- [Componentes - Componentes de Formulários usando Eventos Personalizados](../guide/component-custom-events.html#v-model-arguments)
335+
- [Componentes - Componentes de Formulários usando Eventos Personalizados](../guide/component-custom-events.html#argumentos-do-v-model)
338336

339337
## v-slot
340338

341339
- **Forma abreviada:** `#`
342340

343-
- **Espera:** expressão JavaScript que seja válida na posição de um argumento de função (aceita desestruturação em [ambientes suportados](../guide/component-slots.html#destructuring-slot-props)). Opcional - somente necessário se estiver esperando que propriedades sejam passadas ao *slot*.
341+
- **Espera:** expressão JavaScript que seja válida na posição de um argumento de função (aceita desestruturação em [ambientes suportados](../guide/component-slots.html#desestruturando-props-do-slot)). Opcional - somente necessário se estiver esperando que propriedades sejam passadas ao *slot*.
344342

345-
- **Argumento:** nome de *slot* (opcional, o valor padrão é `default`)
343+
- **Argumento:** nome do *slot* (opcional, o valor padrão é `default`)
346344

347345
- **Limitado a:**
348346

349347
- `<template>`
350-
- [componentes](../guide/component-slots.html#abbreviated-syntax-for-lone-default-slots) (para um único *slot* padrão com propriedades)
348+
- [componentes](../guide/component-slots.html#sintaxe-abreviada-para-slot-unico-e-default) (para um único *slot* padrão com propriedades)
351349

352350
- **Uso:**
353351

354-
Denotar *slots* ou *slots* nomeados que esperam receber propriedades.
352+
Denote *slots* nomeados ou *slots* que esperam receber propriedades.
355353

356354
- **Exemplo:**
357355

358356
```html
359357
<!-- Slots nomeados -->
360358
<base-layout>
361359
<template v-slot:header>
362-
Header content
360+
Conteúdo do Header
363361
</template>
364362

365363
<template v-slot:default>
366-
Default slot content
364+
Conteúdo do slot Default
367365
</template>
368366

369367
<template v-slot:footer>
370-
Footer content
368+
Conteúdo do Footer
371369
</template>
372370
</base-layout>
373371

@@ -397,7 +395,7 @@
397395

398396
- **Uso:**
399397

400-
Pula a compilação para esse elemento e todos seus filhos. Você pode usar isso para mostrar tags mustache sem conversão (*raw*). Pular uma grande quantidade de nós sem diretivas pode acelerar a compilação.
398+
Pula a compilação para esse elemento e todos seus filhos. Você pode usar isso para mostrar tags mustache sem conversão (*raw*). Pular uma grande quantidade de nós sem diretivas também pode acelerar a compilação.
401399

402400
- **Exemplo:**
403401

@@ -411,7 +409,7 @@
411409

412410
- **Uso:**
413411

414-
Essa diretiva permanecerá no elemento até que a instância associada de Vue termine de compilar. Ao ser combinada com regras CSS como `[v-cloak] { display: none }`, essa diretiva pode ser usada para esconder interligações mustache não-compiladas até que a instância de Vue esteja pronta.
412+
Essa diretiva permanecerá no elemento até que a instância de componente associada termine de compilar. Ao ser combinada com regras CSS como `[v-cloak] { display: none }`, essa diretiva pode ser usada para esconder interligações mustache não-compiladas até que a instância do componente esteja pronta.
415413

416414
- **Exemplo:**
417415

@@ -454,26 +452,26 @@
454452
```
455453

456454
- **Ver também:**
457-
- [Sintaxe de Templates - Interpolações](../guide/template-syntax.html#text)
455+
- [Sintaxe de Templates - Interpolações](../guide/template-syntax.html#texto)
458456

459457
## v-is
460458

461459
> Note: esta seção afeta apenas os casos em que os *templates* Vue são escritos diretamente no HTML da página.
462460
463461
- **Espera:** string literal
464462

465-
- **Limitado a:** elementos HTML nativos
463+
- **Limitado a:** elementos HTML nativos
466464

467-
- **Uso:** Ao usar modelos no DOM, o modelo está sujeito às regras de análise de HTML nativo. Alguns elementos HTML, como `<ul>`, `<ol>`, `<table>` e `<select>` têm restrições sobre quais elementos podem aparecer dentro deles, e alguns elementos como `<li>`, `<tr>`, e `<option>` só podem aparecer dentro de alguns determinados elementos. Como solução alternativa, podemos usar a diretiva `v-is` nestes elementos:
465+
- **Uso:** Ao usar *templates* no DOM, o *template* está sujeito às regras de análise nativas de HTML. Alguns elementos HTML, como `<ul>`, `<ol>`, `<table>` e `<select>` têm restrições sobre quais elementos podem aparecer dentro deles, e alguns elementos como `<li>`, `<tr>`, e `<option>` só podem aparecer dentro de alguns determinados elementos. Como solução alternativa, podemos usar a diretiva `v-is` nestes elementos:
468466

469467
```html
470468
<table>
471469
<tr v-is="'blog-post-row'"></tr>
472470
</table>
473471
```
474472

475-
:::warning
476-
`v-is` funciona como uma ligação dinâmica 2.x `:is` - então, para renderizar um componente por seu nome registrado, seu valor deve ser um string literal de JavaScript:
473+
:::warning AVISO
474+
`v-is` funciona como o vínculo dinâmico `:is` da v2.x - então, para renderizar um componente por seu nome registrado, seu valor deve ser um string literal de JavaScript:
477475

478476
```html
479477
<!-- Incorreto, nada será renderizado -->

0 commit comments

Comments
 (0)