Skip to content

Commit 25dc64c

Browse files
committed
Changes to use codepen-snippet component
1 parent 96f4293 commit 25dc64c

File tree

1 file changed

+11
-42
lines changed

1 file changed

+11
-42
lines changed

src/guide/introduction.md

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Introdução
22

3-
::: tip NOTE
4-
Já conhece o Vue 2 e só quer saber o que há de novo no Vue 3? Confira o [Gia de Migração](/guide/migration/introduction.html)!
3+
::: tip NOTA
4+
Conhece o Vue 2 e só quer ver o que há de novo no Vue 3? Confira o [Guia de Migração](/guide/migration/introduction.html)!
55
:::
66

77
## O que é Vue.js?
88

99
Vue (pronuncia-se /vjuː/, como **view**, em inglês) é um **framework progressivo** para a construção de interfaces de usuário. Ao contrário de outros _frameworks_ monolíticos, Vue foi projetado desde sua concepção para ser adotável incrementalmente. A biblioteca principal é focada exclusivamente na camada visual (_view layer_), sendo fácil adotar e integrar com outras bibliotecas ou projetos existentes. Por outro lado, Vue também é perfeitamente capaz de dar poder a sofisticadas _Single-Page Applications_ quando usado em conjunto com [ferramentas modernas](../guide/single-file-component.html) e [bibliotecas de apoio](https://github.com/vuejs/awesome-vue#components--libraries).
1010

11-
Se você gostaria de saber mais sobre Vue antes de mergulhar nele, nós <a id="modal-player" class="vuemastery-trigger" href="#">criamos um vídeo</a> passeando pelos princípios básicos e um exemplo de projeto.
11+
Se você gostaria de saber mais sobre Vue antes de mergulhar nele, nós <a id="modal-player" class="vuemastery-trigger" href="#">criamos um vídeo</a> (em inglês) passeando pelos princípios básicos e um exemplo de projeto.
1212

1313
<common-vuemastery-video-modal/>
1414

@@ -20,7 +20,7 @@ Se você gostaria de saber mais sobre Vue antes de mergulhar nele, nós <a id="m
2020
</ActionLink>
2121
</p>
2222

23-
::: tip
23+
::: tip DICA
2424
O guia oficial supõe um nível intermediário em HTML, CSS e JavaScript. Se você é totalmente novo no mundo do _frontend_, mergulhar diretamente em um _framework_ pode não ser a melhor ideia para começar - compreenda primeiro o básico e depois volte! Experiência anterior com outros _frameworks_ ajuda, mas não é obrigatória.
2525
:::
2626

@@ -91,12 +91,7 @@ const AttributeBinding = {
9191
Vue.createApp(AttributeBinding).mount('#bind-attribute')
9292
```
9393

94-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="result" data-user="Vue" data-slug-hash="KKpRVvJ" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Interligação dinâmica de atributos">
95-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/BaKqxbR">
96-
Interligação dinâmica de atributos</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
97-
no <a href="https://codepen.io">CodePen</a>.</span>
98-
</p>
99-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
94+
<common-codepen-snippet title="Interligação dinâmica de atributos" slug="BaKqxbR" />
10095

10196
Aqui nos deparamos com algo novo. O atributo `v-bind` que você está vendo é chamado de **diretiva**. Diretivas são prefixadas com `v-` para indicar que são atributos especiais providos pelo Vue, e como você deve ter percebido, aplicam comportamento especial de reatividade ao DOM renderizado. Neste caso, basicamente estamos dizendo: "_mantenha o atributo `title` do elemento sempre atualizado em relação à propriedade `message` da instância atualmente ativa_".
10297

@@ -131,13 +126,7 @@ const EventHandling = {
131126
Vue.createApp(EventHandling).mount('#event-handling')
132127
```
133128

134-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="result" data-user="Vue" data-slug-hash="dyoeGjW" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Escutas em eventos">
135-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/LYNgmKY">
136-
Escutas em eventos</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
137-
no <a href="https://codepen.io">CodePen</a>.</span>
138-
</p>
139-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
140-
129+
<common-codepen-snippet title="Escutas em eventos" slug="LYNgmKY" />
141130

142131
Observe que neste método atualizamos o estado da aplicação sem tocar no DOM - todas as manipulações são tratadas pelo Vue e o código que você escreve é focado na lógica de manipulação de dados.
143132

@@ -162,12 +151,7 @@ const TwoWayBinding = {
162151
Vue.createApp(TwoWayBinding).mount('#two-way-binding')
163152
```
164153

165-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="result" data-user="Vue" data-slug-hash="poJVgZm" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Interligação de mão dupla">
166-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/JjXmvQg">
167-
Interligação de mão dupla</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
168-
no <a href="https://codepen.io">CodePen</a>.</span>
169-
</p>
170-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
154+
<common-codepen-snippet title="Interligação de mão dupla" slug="JjXmvQg" />
171155

172156
## Condicionais e Repetições
173157

@@ -195,12 +179,7 @@ Este exemplo demonstra que nós podemos interligar dados não apenas ao texto e
195179

196180
Você pode alterar `seen` de `true` para `false` no exemplo abaixo para ver em ação:
197181

198-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="js,result" data-user="Vue" data-slug-hash="oNXdbpB" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Renderização condicional">
199-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/yLOGzVK">
200-
Renderização condicional</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
201-
no <a href="https://codepen.io">CodePen</a>.</span>
202-
</p>
203-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
182+
<common-codepen-snippet title="Renderização condicional" slug="yLOGzVK" />
204183

205184
Existem mais algumas diretivas, cada uma com sua própria funcionalidade. Por exemplo, a diretiva `v-for` pode ser usada para exibir uma lista de itens usando dados de um Array:
206185

@@ -230,12 +209,7 @@ const ListRendering = {
230209
Vue.createApp(ListRendering).mount('#list-rendering')
231210
```
232211

233-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="result" data-user="Vue" data-slug-hash="mdJLVXq" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Renderização de listas">
234-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/GRZPMrZ">
235-
Renderização de listas</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
236-
no <a href="https://codepen.io">CodePen</a>.</span>
237-
</p>
238-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
212+
<common-codepen-snippet title="Renderização de listas" slug="GRZPMrZ" />
239213

240214
## Composição com Componentes
241215

@@ -319,12 +293,7 @@ app.component('todo-item', {
319293
app.mount('#todo-list-app')
320294
```
321295

322-
<p class="codepen" data-height="300" data-theme-id="39028" data-default-tab="result" data-user="Vue" data-slug-hash="VwLxeEz" data-preview="true" data-editable="true" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;" data-pen-title="Introdução a componentes">
323-
<span>Veja o exemplo <a href="https://codepen.io/vuejs-br/pen/gOrZZXJ">
324-
Introdução a componentes</a> por Vue.js Brasil (<a href="https://codepen.io/vuejs-br">@vuejs-br</a>)
325-
no <a href="https://codepen.io">CodePen</a>.</span>
326-
</p>
327-
<script async src="https://static.codepen.io/assets/embed/ei.js"></script>
296+
<common-codepen-snippet title="Introdução a componentes" slug="gOrZZXJ" />
328297

329298
Este é um exemplo fictício, mas conseguimos separar nossa aplicação em duas pequenas unidades, sendo que o componente filho está razoavelmente bem desacoplado do componente pai graças à funcionalidade de `props`. Podemos agora melhorar nosso componente `<todo-item>` com _template_ e lógica mais complexos, sem afetar o restante.
330299

@@ -350,7 +319,7 @@ Você pode ter notado que componentes Vue são similares aos **Elementos Customi
350319

351320
2. Componentes Vue oferecem importantes recursos não disponíveis em elementos customizados tradicionais, mais notavelmente: fluxo de dados entre componentes, comunicação com eventos customizados e integração com ferramentas de _build_.
352321

353-
Embora o Vue não use elementos personalizados internamente, ele tem [ótima interoperabilidade](https://custom-elements-everywhere.com/#vue) quando se trata de consumir ou distribuir como elementos personalizados. O Vue CLI também suporta a criação de componentes Vue que se registram como elementos personalizados nativos.
322+
Embora o Vue não use elementos personalizados internamente, [ótima interoperabilidade](https://custom-elements-everywhere.com/#vue) quando se trata de consumir ou distribuir como elementos personalizados. O Vue CLI também suporta a criação de componentes Vue que se registram como elementos personalizados nativos.
354323

355324
## Pronto para Mais?
356325

0 commit comments

Comments
 (0)