Skip to content

Commit f0b7792

Browse files
authored
Review on guide/mixins
1 parent bba924a commit f0b7792

File tree

1 file changed

+23
-25
lines changed

1 file changed

+23
-25
lines changed

src/guide/mixins.md

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Fundamentos
44

5-
Mixins distribuem funcionalidades reutilizáveis ​​para componentes Vue. Um objeto mixin pode conter qualquer opção de componente. Quando um componente usa um mixin, todas as opções do mixin serão "combinadas" com as opções do próprio componente.
5+
_Mixins_ distribuem funcionalidades reutilizáveis ​​para componentes Vue. Um objeto _mixin_ pode conter quaisquer opções de componente. Quando um componente usa um _mixin_, todas as opções do _mixin_ serão "misturadas" com as opções do próprio componente.
66

77
Exemplo:
88

@@ -27,9 +27,9 @@ const app = Vue.createApp({
2727
app.mount('#mixins-basic') // => "olá do mixin!"
2828
```
2929

30-
## Opção de mesclagem
30+
## Mesclagem de Opções
3131

32-
Quando um mixin e o próprio componente contêm opções de sobreposição, eles serão "mesclados" usando estratégias apropriadas.
32+
Quando um _mixin_ e o próprio componente contêm opções se sobrepondo, elas serão "mescladas" usando estratégias apropriadas.
3333

3434
Por exemplo, objetos de dados passam por uma mesclagem recursiva, com os dados do componente tendo prioridade em casos de conflito.
3535

@@ -57,27 +57,27 @@ const app = Vue.createApp({
5757
})
5858
```
5959

60-
Funções hoocks com o mesmo nome são mescladas em um array para que todas sejam chamadas. Os hoocks do Mixin serão chamados **antes** dos próprios hoocks do componente.
60+
Gatilhos de funções com o mesmo nome são mesclados em um Array para que todos sejam chamados. Os gatilhos do _Mixin_ serão chamados **antes** dos próprios gatilhos do componente.
6161

6262
```js
6363
const myMixin = {
6464
created() {
65-
console.log('hook do mixin chamando')
65+
console.log('gatilho do mixin chamado')
6666
}
6767
}
6868

6969
const app = Vue.createApp({
7070
mixins: [myMixin],
7171
created() {
72-
console.log('hook do componente chamando')
72+
console.log('gatilho do componente chamado')
7373
}
7474
})
7575

76-
// => "hook do mixin chamando"
77-
// => "hook do componente chamando"
76+
// => "gatilho do mixin chamado"
77+
// => "gatilho do componente chamado"
7878
```
7979

80-
Opções que esperam valores de objeto, por exemplo `methods`, `components` e `directives`, será mesclado no mesmo objeto. As opções do componente terão prioridade quando houver chaves conflitantes nestes objetos:
80+
Opções que esperam valores em objeto, por exemplo `methods`, `components` e `directives`, serão mescladas no mesmo objeto. As opções do componente terão prioridade quando houver chaves conflitantes nestes objetos:
8181

8282
```js
8383
const myMixin = {
@@ -112,14 +112,14 @@ vm.conflicting() // => "de si mesmo"
112112

113113
## Mixin Global
114114

115-
Você também pode aplicar um mixin globalmente para um aplicativo Vue:
115+
Você também pode aplicar um _mixin_ globalmente para um aplicativo Vue:
116116

117117
```js
118118
const app = Vue.createApp({
119119
myOption: 'Olá!'
120120
})
121121

122-
// injetar um handler para `myOption` opção personalizada
122+
// injetar um manipulador para a opção personalizada `myOption`
123123
app.mixin({
124124
created() {
125125
const myOption = this.$options.myOption
@@ -132,14 +132,14 @@ app.mixin({
132132
app.mount('#mixins-global') // => "Olá!"
133133
```
134134

135-
Use com cuidado! Depois de aplicar um mixin globalmente, ele afetará **cada** instância de componente criada posteriormente no aplicativo fornecido (por exemplo, componentes filhos):
135+
Use com cuidado! Depois de aplicar um _mixin_ globalmente, ele afetará **cada** instância de componente criada posteriormente no aplicativo fornecido (por exemplo, componentes filhos):
136136

137137
```js
138138
const app = Vue.createApp({
139139
myOption: 'Olá!'
140140
})
141141

142-
// injetar um handler para `myOption` opção personalizada
142+
// injetar um manipulador para a opção personalizada `myOption`
143143
app.mixin({
144144
created() {
145145
const myOption = this.$options.myOption
@@ -160,21 +160,21 @@ app.mount('#mixins-global')
160160
// => "Olá do componente"
161161
```
162162

163-
Na maioria dos casos, você só deve usá-lo para manipulação de opções personalizadas, conforme demonstrado no exemplo acima. Também é uma boa ideia enviá-los como [Plugins](plugins.html) para evitar a aplicação duplicada.
163+
Na maioria dos casos, você só deve usá-lo para manipulação de opções personalizadas, conforme demonstrado no exemplo acima. Também é uma boa ideia entregá-los como [Plugins](plugins.html) para evitar aplicação duplicada.
164164

165-
## Estratégias de combinação de opções personalizadas
165+
## Estratégias de Mesclagem de Opções Personalizadas
166166

167-
Quando as opções personalizadas são mescladas, elas usam a estratégia padrão que substitui o valor existente. Se você deseja que uma opção personalizada seja mesclada usando uma lógica personalizada, você precisa anexar uma função `app.config.optionMergeStrategies`:
167+
Quando as opções personalizadas são mescladas, elas usam a estratégia padrão que substitui o valor existente. Se você deseja que uma opção personalizada seja mesclada usando uma lógica personalizada, você precisa anexar uma função à `app.config.optionMergeStrategies`:
168168

169169
```js
170170
const app = Vue.createApp({})
171171

172172
app.config.optionMergeStrategies.customOption = (toVal, fromVal) => {
173-
// retorna mergedVal
173+
// retorna valorMesclado (mergedVal)
174174
}
175175
```
176176

177-
A estratégia de mesclagem recebe o valor dessa opção definida nas instâncias pai e filho como o primeiro e segundo argumentos, respectivamente. Vamos tentar verificar o que temos nesses parâmetros quando usamos um mixin:
177+
A estratégia de mesclagem recebe o valor dessa opção definida nas instâncias pai e filho como o primeiro e segundo argumentos, respectivamente. Vamos tentar verificar o que temos nesses parâmetros quando usamos um _mixin_:
178178

179179
```js
180180
const app = Vue.createApp({
@@ -196,9 +196,7 @@ app.mixin({
196196
})
197197
```
198198

199-
Como você pode ver, no console temos `toVal` e `fromVal` impresso primeiro no mixin e depois no `app`.
200-
Nós sempre voltamos `fromVal` se existe é por isso `this.$options.custom` está configurado para `hello!`
201-
No final. Vamos tentar mudar uma estratégia para sempre retornar um valor da instância filha:
199+
Como você pode ver, no console temos `toVal` e `fromVal` impresso primeiro no _mixin_ e depois no `app`. Nós sempre retornamos `fromVal` se existir, é por isso que `this.$options.custom` está configurado para `hello!` no final. Vamos tentar mudar uma estratégia para _sempre retornar um valor da instância filha_:
202200

203201
```js
204202
const app = Vue.createApp({
@@ -217,10 +215,10 @@ app.mixin({
217215

218216
## Precauções
219217

220-
No Vue 2, os mixins eram a principal ferramenta para abstrair partes da lógica de componentes em blocos reutilizáveis. No entanto, eles têm alguns problemas:
218+
No Vue 2, os _mixins_ eram a principal ferramenta para abstrair partes da lógica de componentes em blocos reutilizáveis. No entanto, eles têm alguns problemas:
221219

222-
- Mixins são propensos a conflitos: como as propriedades de cada recurso são mescladas no mesmo componente, você ainda precisa conhecer todos os outros recursos para evitar conflitos de nome de propriedade e para depuração.
220+
- _Mixins_ são propensos à conflitos: como as propriedades de cada recurso são mescladas no mesmo componente, você ainda precisa conhecer todos os outros recursos para evitar conflitos de nome de propriedade e para depuração.
223221

224-
- Reutilização é limitada: não podemos passar nenhum parâmetro ao mixin para alterar sua lógica, o que reduz sua flexibilidade em termos de abstração da lógica
222+
- Reutilização é limitada: não podemos passar nenhum parâmetro ao _mixin_ para alterar sua lógica, o que reduz sua flexibilidade em termos de abstração da lógica
225223

226-
Para resolver esses problemas, adicionamos uma nova maneira de organizar o código por questões lógicas: [API de composição](composition-api-introduction.html).
224+
Para resolver esses problemas, adicionamos uma nova maneira de organizar o código por questões lógicas: A [API de Composição](composition-api-introduction.html).

0 commit comments

Comments
 (0)