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
> Esta seção usa a sintaxe de [componente de um arquivo](single-file-component.html) para exemplos de código.
3
+
> Esta seção usa a sintaxe de [componente single file](single-file-component.html) para exemplos de código.
4
4
5
-
> Este guia assume que você já leu a [Introdução à API de Composição](composition-api-introduction.html) e [Fundamentos de Reatividade](reactivity-fundamentals.html). Leia-os primeiros se você é novo à API de composição (Composition API).
5
+
> Este guia assume que você já leu a [Introdução à API de Composição](composition-api-introduction.html) e [Fundamentos da Reatividade](reactivity-fundamentals.html). Leia-os primeiro se você é novo em API de composição (Composition API).
6
6
7
7
## Argumentos
8
8
9
9
Ao usar a função `setup`, ela receberá dois argumentos:
10
10
11
11
1.`props`
12
12
2.`context`
13
-
13
+
14
14
Vamos nos aprofundar em como cada argumento pode ser usado.
15
15
16
-
### Props
16
+
### `props`
17
17
18
18
O primeiro argumento da função `setup` é o argumento `props`. Assim como é de se esperar em um componente padrão, `props` dentro de uma função `setup` são reativos e serão atualizados quando novos props são passados.
19
19
20
-
21
20
```js
22
21
// MyBook.vue
23
22
@@ -30,11 +29,11 @@ export default {
30
29
}
31
30
}
32
31
```
33
-
:::warning
34
-
No entanto, porque os `props` são reativos, você **não pode usar desestruturação de objetos com ES6** porque isso vai remover sua reatividade.
32
+
:::warning Atenção
33
+
No entanto, porque os `props` são reativos, você **não pode usar a desestruturação de objetos do ES6** porque isso vai remover sua reatividade.
35
34
:::
36
35
37
-
Se você precisa desestruturar seus props, você o pode fazer seguramente usando o [toRefs](reactivity-fundamentals.html#destructuring-reactive-state) dentro da função `setup`.
36
+
Se você precisa desestruturar seus props, você o pode fazer seguramente usando o [toRefs](reactivity-fundamentals.html#desestruturar-estado-reativo) dentro da função `setup`.
38
37
39
38
```js
40
39
// MyBook.vue
@@ -47,29 +46,29 @@ setup(props) {
47
46
console.log(title.value)
48
47
}
49
48
```
50
-
### Contexto
51
49
52
-
O segundo argumento passado para a função `setup` é o `contexto`. O `contexto` é um objeto Javascript normal que expõe três propriedades do componente:
50
+
### `context`
53
51
52
+
O segundo argumento passado para a função `setup` é o `context`. O `context` é um objeto Javascript normal que expõe três propriedades do componente:
54
53
55
54
```js
56
55
// MyBook.vue
57
56
58
57
exportdefault {
59
58
setup(props, context) {
60
-
//Attributes (Non-reactive object)
59
+
//Atributos (objeto não reativo)
61
60
console.log(context.attrs)
62
61
63
-
// Slots (Non-reactive object)
62
+
// Slots (objeto não reativo)
64
63
console.log(context.slots)
65
64
66
-
//Emit Events (Method)
65
+
//Emissão de Eventos (método)
67
66
console.log(context.emit)
68
67
}
69
68
}
70
69
```
71
70
72
-
O objeto `contexto` é um objeto normal Javascript (ou seja, não é reativo, o que significa que você pode seguramente utilizar a desestruturação ES6 nele)
71
+
O objeto `context` é um objeto normal Javascript, ou seja, não é reativo, o que significa que você pode seguramente utilizar a desestruturação ES6 nele.
73
72
74
73
```js
75
74
// MyBook.vue
@@ -79,9 +78,10 @@ export default {
79
78
}
80
79
}
81
80
```
82
-
`attrs` e `slots` são objetos com estados que sempre são atualizados quando o componente é atualizado. Isso significa que você deve evitar desestruturá-los e sempre referenciar suas propriedades por meio de `attrs.x` ou `slots.x`. Note também que, diferente de `props`, `attrs` e `slots` não são reativos. Se você busca aplicar efeitos baseados em mudanças nos `attrs` ou `slots`, você deveria fazê-lo dentro do hook de ciclo de vida `onUpdate`.
83
81
84
-
## Accessando propriedades de componentes
82
+
`attrs` e `slots` são objetos com estados que sempre são atualizados quando o componente é atualizado. Isso significa que você deve evitar desestruturá-los e sempre referenciar suas propriedades por meio de `attrs.x` ou `slots.x`. Note também que, diferente de `props`, `attrs` e `slots`**não** são reativos. Se você busca aplicar efeitos baseados em mudanças nos `attrs` ou `slots`, você deveria fazê-lo dentro do hook de ciclo de vida `onUpdate`.
83
+
84
+
## Acessando Propriedades de Componentes
85
85
86
86
Quando o `setup` é executado, a instância do componente ainda não foi criada. Como resultado, você somente poderá acessar as seguintes propriedades:
87
87
@@ -96,41 +96,40 @@ Em outras palavras, você **não terá acesso** às seguintes opções de compon
96
96
-`computed`
97
97
-`methods`
98
98
99
-
## Usos com os Templates
99
+
## Uso com _Templates_
100
100
101
-
Se `setup` retorna um objeto, as propriedades no objeto podem ser acessadas no template do componente, assim como as propriedades do `props` passadas para o `setup`:
102
-
103
-
If `setup` returns an object, the properties on the object can be accessed in the component's template, as well as the properties of the `props` passed into `setup`:
101
+
Se `setup` retorna um objeto, as propriedades no objeto podem ser acessadas no _template_ do componente, assim como as propriedades do `props` passadas para o `setup`:
Note que [refs](../api/refs-api.html#ref) que é retornado do `setup` é [automaticamente desestruturado](/guide/reactivity-fundamentals.html#ref-unwrapping) quando acessado no template, portanto você não deveria usar `.value` nos templates.
132
129
133
-
## Uso com funções de renderização
130
+
Note que o [refs](../api/refs-api.html#ref) que é retornado do `setup` é [automaticamente desempacotado](/guide/reactivity-fundamentals.html#ref-desempacotada) quando acessado no _template_, portanto você não deveria usar `.value` nos _templates_.
131
+
132
+
## Uso com Funções de Renderização
134
133
135
134
`setup` pode, inclusive, retornar uma função de renderização que pode diretamente fazer uso do estado reativo declarado no mesmo escopo:
**Dentro de `setup()`, `this` não será uma referência à instância atualmente ativa**. Já que `setup()` é chamado antes que as outras opções do componente são resolvidas, `this` dentro de `setup()` vai se comportar diferentemente do `this` noutras opções. Isso pode causar confusões ao se usar o `setup()` com outras API de Opções.
151
+
## Uso do `this`
152
+
153
+
**Dentro de `setup()`, `this` não será uma referência à instância atualmente ativa**. Já que `setup()` é chamado antes que as outras opções do componente sejam resolvidas, `this` dentro de `setup()` vai se comportar diferentemente do `this` de outras opções. Isso pode causar confusões ao se usar o `setup()` com outras API de Opções.
0 commit comments