Skip to content

Commit 6d4406d

Browse files
authored
Merge pull request #172 from andrewlucasgs/master
docs: Translate file 'guide/instance.md'
2 parents 48a9e30 + a489bfe commit 6d4406d

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

src/guide/instance.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# Application & Component Instances
1+
# Instâncias de Aplicação e de Componentes
22

3-
## Creating an Application Instance
3+
## Criando uma Instância de Aplicação
44

55
Toda aplicação Vue começa com a criação de uma nova **instância** com a função `createApp`:
66

77
```js
8-
const app = Vue.createApp({ /* options */ })
8+
const app = Vue.createApp({ /* opções */ })
99
```
1010

11-
The application instance is used to register 'globals' that can then be used by components within that application. We'll discuss that in detail later in the guide but as a quick example:
11+
A instância da aplicação é usada para registrar 'globais' que podem ser usados pelos componentes dentro da aplicação. Discutiremos isso em detalhes posteriormente no guia, mas como um exemplo rápido:
1212

1313
```js
1414
const app = Vue.createApp({})
@@ -17,7 +17,7 @@ app.directive('focus', FocusDirective)
1717
app.use(LocalePlugin)
1818
```
1919

20-
Most of the methods exposed by the application instance return that same instance, allowing for chaining:
20+
A maioria dos métodos expostos pela instância da aplicação retornam a própria instância, permitindo encadeamentos:
2121

2222
```js
2323
Vue.createApp({})
@@ -26,28 +26,28 @@ Vue.createApp({})
2626
.use(LocalePlugin)
2727
```
2828

29-
You can browse the full application API in the [API reference](../api/application-api.html).
29+
Você pode navegar na API completa da aplicação na [documentação da API](../api/application-api.html).
3030

31-
## The Root Component
31+
## O Componente Raiz
3232

33-
The options passed to `createApp` are used to configure the **root component**. That component is used as the starting point for rendering when we **mount** the application.
33+
As opções passadas para `createApp` são usadas para configurar o **componente raiz**. Esse componente é usado como ponto de partida para renderização quando nós **montamos** a aplicação.
3434

35-
An application needs to be mounted into a DOM element. For example, if we want to mount a Vue application into `<div id="app"></div>`, we should pass `#app`:
35+
Uma aplicação precisa ser montada em um elemento DOM. Por exemplo, se quisermos montar um aplicação Vue em `<div id="app"></div>`, devemos passar `#app`:
3636

3737
```js
38-
const RootComponent = { /* options */ }
38+
const RootComponent = { /* opções */ }
3939
const app = Vue.createApp(RootComponent)
4040
const vm = app.mount('#app')
4141
```
4242

43-
Unlike most of the application methods, `mount` does not return the application. Instead it returns the root component instance.
43+
Diferente da maioria dos métodos de aplicação, `mount` não retorna uma instância da aplicação. Em vez disso, retorna a instância do componente raiz.
4444

45-
Although not strictly associated with the [MVVM pattern](https://en.wikipedia.org/wiki/Model_View_ViewModel), Vue's design was partly inspired by it. As a convention, we often use the variable `vm` (short for ViewModel) to refer to a component instance.
45+
Embora não seja estritamente associado ao [padrão MVVM](https://en.wikipedia.org/wiki/Model_View_ViewModel), o design do Vue foi parcialmente inspirado por ele. Como convenção, costumamos usar a variável `vm` (abreviação de ViewModel) para se referir à uma instância de componente.
4646

47-
While all the examples on this page only need a single component, most real applications are organized into a tree of nested, reusable components. For example, a Todo application's component tree might look like this:
47+
Embora todos os exemplos nesta página precisem apenas de um único componente, a maioria das aplicações reais são organizadas em uma árvore de componentes reutilizáveis aninhados. Por exemplo, a árvore de componentes de uma aplicação Todo pode ter a seguinte aparência:
4848

4949
```
50-
Root Component
50+
Componente Raiz
5151
└─ TodoList
5252
├─ TodoItem
5353
│ ├─ DeleteTodoButton
@@ -57,13 +57,13 @@ Root Component
5757
└─ TodoListStatistics
5858
```
5959

60-
Each component will have its own component instance, `vm`. For some components, such as `TodoItem`, there will likely be multiple instances rendered at any one time. All of the component instances in this application will share the same application instance.
60+
Cada componente terá sua própria instância de componente, `vm`. Para alguns componentes, como `TodoItem`, provavelmente haverão várias instâncias renderizadas a qualquer momento. Todas as instâncias de componente nesta aplicação irão compartilhar a mesma instância de aplicação.
6161

62-
We'll talk about [the component system](component-basics.html) in detail later. For now, just be aware that the root component isn't really any different from any other component. The configuration options are the same, as is the behavior of the corresponding component instance.
62+
Falaremos sobre [o sistema de componentes](component-basics.html) em detalhes depois. Por enquanto, apenas esteja ciente de que o componente raiz não é realmente diferente de qualquer outro componente. As opções de configuração são as mesmas, assim como o comportamento da instância do componente correspondente.
6363

64-
## Component Instance Properties
64+
## Propriedades da Instância do Componente
6565

66-
Earlier in the guide we met `data` properties. Properties defined in `data` are exposed via the component instance:
66+
No início do guia conhecemos as propriedades do `data`. Propriedades definidas no `data` são expostas por meio da instância do componente:
6767

6868
```js
6969
const app = Vue.createApp({
@@ -77,13 +77,13 @@ const vm = app.mount('#app')
7777
console.log(vm.count) // => 4
7878
```
7979

80-
There are various other component options that add user-defined properties to the component instance, such as `methods`, `props`, `computed`, `inject` and `setup`. We'll discuss each of these in depth later in the guide. All of the properties of the component instance, no matter how they are defined, will be accessible in the component's template.
80+
Existem várias outras opções de componentes que adicionam propriedades definidas pelo usuário à instância do componente, tais como `methods`, `props`, `computed`, `inject` e `setup`. Discutiremos cada um deles em detalhes posteriormente no guia. Todas as propriedades da instância do componente, não importa como sejam definidas, estarão acessíveis no _template_ do componente.
8181

82-
Vue also exposes some built-in properties via the component instance, such as `$attrs` and `$emit`. These properties all have a `$` prefix to avoid conflicting with user-defined property names.
82+
O Vue também expõe algumas propriedades integradas por meio da instância do componente, tais como `$attrs` e `$emit`. Todas essas propriedades têm um prefixo `$` para evitar conflito com nomes de propriedade definidas pelo usuário.
8383

84-
## Lifecycle Hooks
84+
## Gatilhos de Ciclo de Vida
8585

86-
Each component instance goes through a series of initialization steps when it's created - for example, it needs to set up data observation, compile the template, mount the instance to the DOM, and update the DOM when data changes. Along the way, it also runs functions called **lifecycle hooks**, giving users the opportunity to add their own code at specific stages.
86+
Cada instância do componente passa por uma série de etapas de inicialização quando é criada - por exemplo, é preciso configurar a observação de dados, compilar o template, montar a instância no DOM, e atualizar o DOM quando os dados mudam. Ao longo desse caminho, também executa funções chamadas **gatilhos de ciclo de vida**, dando aos usuários a oportunidade de adicionar seu próprio código em estágios específicos.
8787

8888
Por exemplo, o gatilho [`created`](../api/options-lifecycle-hooks.html#created) pode ser utilizado para executar código logo após a instância ser criada:
8989

@@ -93,7 +93,7 @@ Vue.createApp({
9393
return { count: 1 }
9494
},
9595
created() {
96-
// `this` points to the vm instance
96+
// `this` aponta para a instância vm
9797
console.log('count is: ' + this.count) // => "count is: 1"
9898
}
9999
})
@@ -102,7 +102,7 @@ Vue.createApp({
102102
Existem também outros gatilhos que serão chamados em diferentes etapas do ciclo de vida da instância, como [`mounted`](../api/options-lifecycle-hooks.html#mounted), [`updated`](../api/options-lifecycle-hooks.html#updated), e [`unmounted`](../api/options-lifecycle-hooks.html#unmounted). Todos os gatilhos de ciclo de vida são executados com seu contexto `this` apontando para a atual instância ativa que o invoca.
103103

104104
::: tip Nota
105-
Não utilize [_arrow functions_](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Functions/Arrow_functions) em propriedades de opções ou _callback_, como em `created: () => console.log(this.a)` ou `vm.$watch('a', newValue => this.myMethod())`. Como as _arrow functions_ não possuem um `this`,`this` será tratado como qualquer outra variável e lexicamente pesquisada através de escopos parentais até ser encontrada, frequentemente resultando em erros como `Uncaught TypeError: Cannot read property of undefined` ou `Uncaught TypeError: this.myMethod is not a function`.
105+
Não utilize [_arrow functions_](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Functions/Arrow_functions) em propriedades de opções ou _callback_, como em `created: () => console.log(this.a)` ou `vm.$watch('a', newValue => this.myMethod())`. Como as _arrow functions_ não possuem um `this`,`this` será tratado como qualquer outra variável e lexicalmente pesquisada através de escopos parentais até ser encontrada, frequentemente resultando em erros como `Uncaught TypeError: Cannot read property of undefined` ou `Uncaught TypeError: this.myMethod is not a function`.
106106
:::
107107

108108
## Diagrama do Ciclo de Vida

0 commit comments

Comments
 (0)