Skip to content

Commit 42029a5

Browse files
authored
Update data-methods.md
Translate from english to portuguese.
1 parent 341ce93 commit 42029a5

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

src/guide/data-methods.md

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Data Properties and Methods
1+
# Propriedades de dados e Métodos
22

33
<VideoLesson href="https://vueschool.io/lessons/methods-in-vue-3?friend=vuejs" title="Aprenda a usar métodos na Vue School">Aprenda a trabalhar com dados e métodos com uma aula gratuita da Vue School</VideoLesson>
44

5-
## Data Properties
5+
## Propriedades de dados
66

7-
The `data` option for a component is a function. Vue calls this function as part of creating a new component instance. It should return an object, which Vue will then wrap in its reactivity system and store on the component instance as `$data`. For convenience, any top-level properties of that object are also exposed directly via the component instance:
7+
A opção `data` para um componente é uma função. Vue chama essa função como parte da criação de uma nova instância de componente. Ele deve retornar um objeto, que o Vue irá envolver em seu sistema de reatividade e armazenar na instância do componente como `$data`. Por conveniência, quaisquer propriedades de nível superior desse objeto também são expostos diretamente por meio da instância do componente:
88

99
```js
1010
const app = Vue.createApp({
@@ -18,24 +18,25 @@ const vm = app.mount('#app')
1818
console.log(vm.$data.count) // => 4
1919
console.log(vm.count) // => 4
2020

21-
// Assigning a value to vm.count will also update $data.count
21+
// Atribuir um valor a vm.count também atualizará $data.count
2222
vm.count = 5
2323
console.log(vm.$data.count) // => 5
2424

25-
// ... and vice-versa
25+
// ... e vice-versa
2626
vm.$data.count = 6
2727
console.log(vm.count) // => 6
2828
```
2929

30-
These instance properties are only added when the instance is first created, so you need to ensure they are all present in the object returned by the `data` function. Where necessary, use `null`, `undefined` or some other placeholder value for properties where the desired value isn't yet available.
30+
Essas propriedades de instância são adicionadas apenas quando a instância é criada pela primeira vez, então você precisa garantir que todas estejam presentes no objeto retornado pela função `data`. Onde necessário, use `null`,`undefined` ou algum outro valor de espaço reservado para propriedades onde o valor desejado ainda não está disponível.
3131

32-
It is possible to add a new property directly to the component instance without including it in `data`. However, because this property isn't backed by the reactive `$data` object, it won't automatically be tracked by [Vue's reactivity system](reactivity.html).
32+
É possível adicionar uma nova propriedade diretamente à instância do componente sem incluí-la em `data`. No entanto, como essa propriedade não é suportada pelo objeto reativo `$data`, ela não será rastreada automaticamente pelo [sistema de reatividade do Vue](reactivity.html).
3333

34-
Vue uses a `$` prefix when exposing its own built-in APIs via the component instance. It also reserves the prefix `_` for internal properties. You should avoid using names for top-level `data` properties that start with either of these characters.
34+
O Vue usa o prefixo `$` ao expor suas próprias APIs integradas por meio da instância do componente. Ele também reserva o prefixo `_` para propriedades internas. Você deve evitar usar nomes para propriedades `data` de nível superior que começam com qualquer um desses caracteres.
3535

36-
## Methods
3736

38-
To add methods to a component instance we use the `methods` option. This should be an object containing the desired methods:
37+
## Métodos
38+
39+
Para adicionar métodos a uma instância do componente, usamos a opção `methods`. Isto deve ser um objeto contendo os métodos desejados:
3940

4041
```js
4142
const app = Vue.createApp({
@@ -44,7 +45,7 @@ const app = Vue.createApp({
4445
},
4546
methods: {
4647
increment() {
47-
// `this` will refer to the component instance
48+
// `this` irá se referir à instância do componente
4849
this.count++
4950
}
5051
}
@@ -59,33 +60,34 @@ vm.increment()
5960
console.log(vm.count) // => 5
6061
```
6162

62-
Vue automatically binds the `this` value for `methods` so that it always refers to the component instance. This ensures that a method retains the correct `this` value if it's used as an event listener or callback. You should avoid using arrow functions when defining `methods`, as that prevents Vue from binding the appropriate `this` value.
63+
O Vue vincula automaticamente o valor `this` para `methods` para que sempre se refira à instância do componente. Isso garante que um método retenha o valor `this` correto se for usado como um ouvinte de evento ou retorno de chamada. Você deve evitar o uso de funções de seta ao definir `methods`, pois isso impede que o Vue vincule o valor `this` apropriado.
6364

64-
Just like all other properties of the component instance, the `methods` are accessible from within the component's template. Inside a template they are most commonly used as event listeners:
65+
Assim como todas as outras propriedades da instância do componente, os métodos em `methods` são acessíveis a partir do template do componente. Dentro de um modelo, eles são mais comumente usados como ouvintes de eventos:
6566

6667
```html
6768
<button @click="increment">Up vote</button>
6869
```
6970

70-
In the example above, the method `increment` will be called when the `<button>` is clicked.
71+
No exemplo acima, o método `increment` será chamado quando o `<button>` for clicado.
7172

72-
It is also possible to call a method directly from a template. As we'll see shortly, it's usually better to use a [computed property](computed.html) instead. However, using a method can be useful in scenarios where computed properties aren't a viable option. You can call a method anywhere that a template supports JavaScript expressions:
73+
Também é possível chamar um método diretamente de um modelo. Como veremos em breve, geralmente é melhor usar uma [propriedade computada](computed.html) em vez disso. No entanto, usar um método pode ser útil em cenários onde as propriedades computadas não são uma opção viável. Você pode chamar um método em qualquer lugar em que um modelo suporte expressões JavaScript:
7374

7475
```html
7576
<span :title="toTitleDate(date)">
7677
{{ formatDate(date) }}
7778
</span>
7879
```
7980

80-
If the methods `toTitleDate` or `formatDate` access any reactive data then it will be tracked as a rendering dependency, just as if it had been used in the template directly.
81+
Se os métodos `toTitleDate` ou `formatDate` acessam qualquer dado reativo, ele será rastreado como uma dependência de renderização, como se tivesse sido usado diretamente no template.
82+
83+
Os métodos chamados a partir de um modelo não devem ter efeitos colaterais, como alteração de dados ou acionamento de processos assíncronos. Se você se sentir tentado a fazer isso, provavelmente deve usar um [lifecycle hook](instance.html#lifecycle-hooks).
8184

82-
Methods called from a template should not have any side effects, such as changing data or triggering asynchronous processes. If you find yourself tempted to do that you should probably use a [lifecycle hook](instance.html#lifecycle-hooks) instead.
8385

8486
### Debouncing and Throttling
8587

86-
Vue doesn't include built-in support for debouncing or throttling but it can be implemented using libraries such as [Lodash](https://lodash.com/).
88+
O Vue não inclui suporte integrado para depuração ou limitação, mas pode ser implementado usando bibliotecas como [Lodash](https://lodash.com/).
8789

88-
In cases where a component is only used once, the debouncing can be applied directly within `methods`:
90+
Nos casos em que um componente é usado apenas uma vez, o debouncing pode ser aplicado diretamente em `methods`:
8991

9092
```html
9193
<script src="https://unpkg.com/[email protected]/lodash.min.js"></script>
@@ -101,7 +103,8 @@ In cases where a component is only used once, the debouncing can be applied dire
101103
</script>
102104
```
103105

104-
However, this approach is potentially problematic for components that are reused because they'll all share the same debounced function. To keep the component instances independent from each other, we can add the debounced function in the `created` lifecycle hook:
106+
No entanto, essa abordagem é potencialmente problemática para componentes que são reutilizados, porque todos eles compartilharão a mesma função depurada. Para manter as instâncias do componente independentes umas das outras, podemos adicionar a função depurada no gancho do ciclo de vida `created`:
107+
105108

106109
```js
107110
app.component('save-button', {
@@ -110,7 +113,7 @@ app.component('save-button', {
110113
this.debouncedClick = _.debounce(this.click, 500)
111114
},
112115
unmounted() {
113-
// Cancel the timer when the component is removed
116+
// Cancela o cronômetro quando o componente é removido
114117
this.debouncedClick.cancel()
115118
},
116119
methods: {

0 commit comments

Comments
 (0)