Skip to content

Commit 976a240

Browse files
authored
Review on guide/teleport
1 parent 5e78b8a commit 976a240

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/guide/teleport.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Teleporte
22

3-
<div class="vueschool"><a href="https://vueschool.io/lessons/vue-3-teleport?friend=vuejs" target="_blank" rel="sponsored noopener" title="Learn how to use teleport with Vue School">Aprenda como usar o teleporte em uma aula grátis do Vue School</a></div>
3+
<div class="vueschool"><a href="https://vueschool.io/lessons/vue-3-teleport?friend=vuejs" target="_blank" rel="sponsored noopener" title="Aprenda a usar o teleport com Vue School">Aprenda como usar o teleporte em uma aula grátis do Vue School</a></div>
44

5-
O Vue nos encoraja a construir nossas interfaces de usuário (UIs) encapsulando a UI e seu respectivo comportamento em componentes. Podemos aninhar componentes dentro de outros componentes e montar uma árvore que constitui a UI da aplicação.
5+
O Vue nos encoraja à construir nossas interfaces de usuário (UIs) encapsulando a UI e seu respectivo comportamento em componentes. Podemos aninhar componentes dentro de outros componentes e montar uma árvore que constitui a UI da aplicação.
66

7-
Entretanto, algumas vezes, uma parte do _template_ do componente pertence a esse componente de forma lógica, enquanto do ponto de vista técnico, seria preferível mover essa parte do _template_ para outro lugar no DOM, fora da aplicação Vue.
7+
Entretanto, algumas vezes uma parte do _template_ do componente pertence à esse componente de forma lógica, enquanto do ponto de vista técnico, seria preferível mover essa parte do _template_ para outro lugar no DOM, fora da aplicação Vue.
88

99
Um cenário comum para isso é a criação de um componente que inclui um _modal_ em tela cheia. Na maioria dos casos, você gostaria que a lógica do modal residisse dentro do componente, mas o posicionamento do modal se torna difícil de resolver por meio de CSS ou requer uma mudança na composição do componente.
1010

@@ -13,7 +13,7 @@ Considere a seguinte estrutura HTML.
1313
```html
1414
<body>
1515
<div style="position: relative;">
16-
<h3>Tooltips with Vue 3 Teleport</h3>
16+
<h3>Tooltips com Vue 3 e Teleport</h3>
1717
<div>
1818
<modal-button></modal-button>
1919
</div>
@@ -31,14 +31,14 @@ const app = Vue.createApp({});
3131
app.component('modal-button', {
3232
template: `
3333
<button @click="modalOpen = true">
34-
Open full screen modal!
34+
Abrir modal de tela cheia!
3535
</button>
3636
3737
<div v-if="modalOpen" class="modal">
3838
<div>
39-
I'm a modal!
39+
Eu sou um modal!
4040
<button @click="modalOpen = false">
41-
Close
41+
Fechar
4242
</button>
4343
</div>
4444
</div>
@@ -53,24 +53,24 @@ app.component('modal-button', {
5353

5454
Ao usar esse componente dentro da estrutura HTML inicial, podemos ver um problema - o modal está sendo renderizado dentro de uma `div` profundamente aninhada e a `position: absolute` do modal toma como referência a `div` pai posicionada relativamente.
5555

56-
O teleporte fornece uma maneira limpa para nos permitir controlar sob que elemento pai no DOM nós queremos que uma parte do HTML seja rederizada, sem ter que recorrer ao estado global ou dividí-lo em dois componentes.
56+
O Teleporte fornece uma maneira limpa para nos permitir controlar sob que elemento pai no DOM nós queremos que uma parte do HTML seja rederizada, sem ter que recorrer ao estado global ou dividí-lo em dois componentes.
5757

58-
Vamos modificar nosso `modal-button` para usar o `<teleport>` e dizer ao Vue "**teleporte** esse HTML **para** a _tag_ "**body**"".
58+
Vamos modificar nosso `modal-button` para usar o `<teleport>` e dizer ao Vue que "**teleporte** esse HTML **para** a _tag_ '**body**'".
5959

6060
```js
6161
app.component('modal-button', {
6262
template: `
6363
<button @click="modalOpen = true">
64-
Open full screen modal! (With teleport!)
64+
Abrir modal de tela cheia! (Com Teleporte!)
6565
</button>
6666
6767
<teleport to="body">
6868
<div v-if="modalOpen" class="modal">
6969
<div>
70-
I'm a teleported modal!
71-
(My parent is "body")
70+
Eu sou um modal teleportado!
71+
(Meu pai é o "body")
7272
<button @click="modalOpen = false">
73-
Close
73+
Fechar
7474
</button>
7575
</div>
7676
</div>
@@ -93,21 +93,21 @@ Como resultado, uma vez que clicamos no botão para abrir o modal, o Vue irá re
9393
</p>
9494
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
9595

96-
## Usando com componentes Vue
96+
## Usando com Componentes Vue
9797

9898
Se o `<teleport>` contém um componente Vue, o componente permanecerá um filho lógico do pai do `<teleport>`:
9999

100100
```js
101101
const app = Vue.createApp({
102102
template: `
103-
<h1>Root instance</h1>
103+
<h1>Instância raiz</h1>
104104
<parent-component />
105105
`
106106
})
107107

108108
app.component('parent-component', {
109109
template: `
110-
<h2>This is a parent component</h2>
110+
<h2>Este é um componente pai</h2>
111111
<teleport to="#endofbody">
112112
<child-component name="John" />
113113
</teleport>
@@ -117,18 +117,18 @@ app.component('parent-component', {
117117
app.component('child-component', {
118118
props: ['name'],
119119
template: `
120-
<div>Hello, {{ name }}</div>
120+
<div>Olá, {{ name }}</div>
121121
`
122122
})
123123
```
124124

125-
Neste caso, mesmo quando o `child-component` é renderizado em um lugar diferente, permanecerá com um filho do `parent-component` e receberá a propriedade `name` dele.
125+
Neste caso, mesmo quando o `child-component` é renderizado em um lugar diferente, permanecerá como filho do `parent-component` e receberá a propriedade `name` dele.
126126

127127
Isso também significa que injeções vindas do componente pai funcionam como o esperado, e que o componente filho será aninhado embaixo do componente pai no _Vue Devtools_, em vez de ser colocado no lugar para o qual o conteúdo foi movido.
128128

129-
## Usando múltiplos teleportes no mesmo alvo
129+
## Usando Múltiplos Teleportes no Mesmo Alvo
130130

131-
Um cenário de caso de uso comum pode ser um componente `<Modal>` reutilizável, do qual pode haver várias instâncias ativas ao mesmo tempo. Para esse tipo de cenário, múltiplos componentes `<teleport>` podem montar seus respectivos conteúdos no mesmo elemento alvo. A ordem será simplemente anexá-los - as montagens mais antigas serão localizadas depois das primeiras montagens realizadas no elemento alvo.
131+
Um cenário de caso de uso comum pode ser um componente `<Modal>` reutilizável, do qual pode haver várias instâncias ativas ao mesmo tempo. Para esse tipo de cenário, múltiplos componentes `<teleport>` podem montar seus respectivos conteúdos no mesmo elemento alvo. A ordem será simplemente anexá-los - as montagens novas serão localizadas depois das primeiras montagens realizadas no elemento alvo.
132132

133133
```html
134134
<teleport to="#modals">

0 commit comments

Comments
 (0)