|
1 |
| -# Tratamento de casos extremos |
| 1 | +# Lidando com Casos Extremos |
2 | 2 |
|
3 |
| -> Essa página pressupõe que você leu os [Componentes Básicos](component-basics.md). Leia isso primeiro se você for novo em componentes. |
| 3 | +> Esta página assume que você já leu o [Básico sobre Componentes](component-basics.md). Leia lá primeiro se o desenvolvimento de componentes for novidade para você. |
4 | 4 |
|
5 |
| -:::tip Nota |
6 |
| -Todos os recursos dessa página documentam o tratamento de casos extremos, ou seja, situações incomuns que às vezes exigem que as regras do Vue sejam um pouco distorcidas. Observe, entretanto, que todos eles têm desvantagens ou situações onde podem ser perigosos. Eles são notados em cada caso, então lembre-se deles ao decidir usar cada recurso. |
| 5 | +::: tip NOTA |
| 6 | +Todos os recursos dessa página documentam o tratamento de casos extremos, ou seja, situações incomuns que às vezes exigem que as regras do Vue sejam levemente contornadas. Observe, entretanto, que todos eles têm desvantagens ou situações onde podem ser perigosos. Estes detalhes são expostos em cada caso, portanto, lembre-se ao decidir usar cada recurso. |
7 | 7 | :::
|
8 | 8 |
|
9 |
| -## Controle de Atualizações |
| 9 | +## Controlando Atualizações |
10 | 10 |
|
11 |
| -Graças ao sistema de reatividade do Vue, ele sempre sabe quando atualizar (se você usá-lo corretamente). No entanto, há casos extremos onde você talvez queira forçar uma atualização, apesar do fato de que nenhum dado reativo foi alterado. Também há casos onde você talvez queira prevenir atualizações desnecessárias. |
| 11 | +Graças ao sistema de reatividade do Vue, ele sempre sabe quando atualizar a interface (se você usá-lo corretamente). Porém, há casos incomuns em que possa querer forçar uma atualização, mesmo que nenhum dado reativo tenha mudado. Também há casos em que possa querer prevenir atualizações desnecessárias. |
12 | 12 |
|
13 | 13 | ### Forçando uma Atualização
|
14 | 14 |
|
15 |
| -Se você precisar forçar uma atualização no Vue, em 99.99% dos casos, você cometeu um erro em algum lugar. Por exemplo, você pode estar contando com um estado que não é monitorado pelo sistema de reatividade do Vue, por exemplo, com a propriedade `data` adicionada após a criação do componente. |
| 15 | +Se você precisar forçar uma atualização no Vue, em 99,99% dos casos você cometeu um erro em algum lugar. Por exemplo, você pode estar contando com um estado que não é monitorado pelo sistema de reatividade do Vue, por exemplo, contando com uma propriedade `data` adicionada após a criação do componente. |
16 | 16 |
|
17 |
| -No entanto, se você descartou as opções acima e se encontra nessa situação extremamente rara de ter que forçar manualmente uma atualização, você pode fazer isso com [`$forceUpdate`](../api/instance-methods.html#forceupdate). |
| 17 | +No entanto, se você descartou a opção acima e se encontra nessa situação extremamente rara de ter que forçar manualmente uma atualização, você pode fazer isso com [`$forceUpdate`](../api/instance-methods.html#forceupdate). |
18 | 18 |
|
19 |
| -### Componentes estáticos baratos com `v-once` |
| 19 | +### Componentes Estáticos Econômicos com `v-once` |
20 | 20 |
|
21 |
| -Renderizar elementos HTML simples é muito rápido no Vue, mas às vezes você pode ter um componente que contém **muito** conteúdo estático. Nesses casos, você pode garantir que ele seja avaliado somente uma vez e então armazená-lo em cache adicionando a diretiva `v-once` ao elemento raiz, como este: |
| 21 | +Renderizar elementos HTML puros é algo bem rápido no Vue mas, algumas vezes, você pode ter um componente que possui **uma grande quantidade** de conteúdo estático. Nesses casos, você pode garantir que ele seja avaliado somente uma vez e então armazenado em cache, adicionando a diretiva `v-once` ao elemento raiz, como mostrado abaixo: |
22 | 22 |
|
23 | 23 | ```js
|
24 | 24 | app.component('terms-of-service', {
|
25 | 25 | template: `
|
26 | 26 | <div v-once>
|
27 |
| - <h1>Terms of Service</h1> |
| 27 | + <h1>Termos de serviço</h1> |
28 | 28 | ... muito conteúdo estático ...
|
29 | 29 | </div>
|
30 | 30 | `,
|
31 | 31 | })
|
32 | 32 | ```
|
33 | 33 |
|
34 |
| -:::tip |
35 |
| -Mais uma vez, tente não abusar desse padrão. Embora seja conveniente nos raros casos em que você precisa renderizar muito conteúdo estático, isso simplesmente não é necessário, a menos que você realmente observe uma renderização lenta - além disso, pode causar muita confusão posteriormente. Por exemplo, imagine outro desenvolvedor que não está familiarizado com o `v-once` ou simplesmente não o veja no template. Eles podem passar horas tentando descobrir porque o template não está sendo atualizado corretamente. |
| 34 | +::: tip DICA |
| 35 | +Como de costume, tente não abusar deste padrão. Embora seja conveniente nos raros casos em que você precisar renderizar muito conteúdo estático, isso simplesmente não é necessário a menos que você realmente observe uma renderização lenta - além disso, pode causar muita confusão posteriormente. Por exemplo, imagine outro desenvolvedor que não está familiarizado com o `v-once` ou simplesmente não o notou no _template_. Ele pode vir a perder horas tentando entender o porquê de o _template_ não estar sendo atualizado. |
36 | 36 | :::
|
0 commit comments