Introdução
Neste projeto, você aprenderá como construir um leitor de e-books simples usando Vue 2.x. O leitor de e-books permitirá que os usuários alternem a visibilidade da barra de ferramentas do cabeçalho, definam o tema de leitura e ajustem o tamanho da fonte do conteúdo do texto.
👀 Pré-visualização

🎯 Tarefas
Neste projeto, você aprenderá:
- Como implementar a alternância da visibilidade da barra de ferramentas do cabeçalho
- Como implementar a configuração do tema de leitura
- Como implementar a configuração do tamanho da fonte
🏆 Conquistas
Após concluir este projeto, você será capaz de:
- Usar Vue.js para criar interfaces de usuário interativas
- Lidar com interações do usuário e atualizar a interface do usuário (UI) de acordo
- Estilizar dinamicamente elementos com base nas preferências do usuário
- Garantir que o aplicativo permaneça responsivo e acessível
Implementar a Alternância da Visibilidade da Barra de Ferramentas do Cabeçalho
Para começar, observe a estrutura de diretórios dos arquivos à esquerda, conforme segue:
├── index.html
├── css
└── js
└── vue.js
Onde:
index.htmlé a página principal e o próximo arquivo que você precisa modificar.cssé a pasta para arquivos de estilo.js/vue.jsé o arquivo Vue 2.x.
Em seguida, você faz tudo no arquivo index.html.
Nesta etapa, você aprenderá como implementar a alternância da visibilidade da barra de ferramentas do cabeçalho. Siga as etapas abaixo para concluir esta etapa:
- Abra o arquivo
index.html, defina a variávelisShowToolsemdatasobel: "#app"para controlar a exibição da barra de ferramentas do cabeçalho, com um valor padrão detruepara mostrar a barra de ferramentas do cabeçalho.
data: {
isShowTools: true,
// ...
}
- Envolva o conteúdo da barra de ferramentas do cabeçalho (o elemento
<div class="header">) em um elemento<transition>com a diretivav-if, vinculando-o à propriedade de dadosisShowTools. Isso garantirá que a barra de ferramentas do cabeçalho seja visível apenas quandoisShowToolsfortrue.
<transition v-if="isShowTools" name="fade">
<div class="header">
<!-- header toolbar content -->
</div>
</transition>
- No arquivo
index.html, localize o elemento<a>com a classeiconfont icon-setting. Este elemento é usado para alternar a visibilidade da barra de ferramentas do cabeçalho. - Adicione uma diretiva
@clickao elemento<a>e vincule-a a um métodoshowToolsna instância Vue. Este método alternará a propriedade de dadosisShowTools, que controla a visibilidade da barra de ferramentas do cabeçalho.
<a @click="showTools" class="iconfont icon-setting"></a>
- Na instância Vue, adicione o método
showToolsao objetomethods. Este método deve alternar o valor da propriedade de dadosisShowTools.
methods: {
showTools() {
this.isShowTools = !this.isShowTools;
},
}
- Adicione um ícone
closeà barra de ferramentas do cabeçalho e vincule uma diretiva@clickao métodoshowToolspara permitir que o usuário feche a barra de ferramentas do cabeçalho.
<li class="container">
<a @click="showTools" class="iconfont icon-close"></a>
</li>
Implementar a Definição do Tema de Leitura
Nesta etapa, você aprenderá como implementar a configuração do tema de leitura. Siga as etapas abaixo para concluir esta etapa:
- Defina a variável
isActiveColoremdatasobel: "#app"e defina o valor padrão como0, ou seja, a cor de fundo padrão é a primeira cor selecionada. No arquivoindex.html, localize o elemento<div class="right" id="setBG">. É aqui que os blocos de cores circulares para o tema de leitura serão exibidos.
data: {
isActiveColor: 0,
// ...
}
- Use uma diretiva
v-forpara iterar sobre a propriedade de dadosbgList, que contém a lista de cores do tema. Para cada cor, crie um elemento<a>com uma diretiva@clickque chama o métodochangeColor, passando o índice atual como um argumento.
<div class="right" id="setBG">
<a
@click="changeColor(index)"
v-for="(item,index) in bgList"
:style="{'background-color':item}"
:class="{'iconfont':true,'icon-selected':index==isActiveColor}"
></a>
</div>
- Na instância Vue, adicione o método
changeColorao objetomethods. Este método deve atualizar a propriedade de dadosisActiveColorcom o índice do bloco de cores selecionado.
methods: {
changeColor(value) {
this.isActiveColor = value;
},
}
- No elemento
<p>com a classetext-content, use a diretiva:stylepara definir dinamicamente a cor de fundo e a cor da fonte com base na cor do tema selecionado.
<p
class="text-content"
:style="{
'background-color': `${bgList[isActiveColor]}`,
'color': isActiveColor === 4 ? '#ffffff' : '#333333'
}"
>
<!-- content -->
</p>
Implementar a Definição do Tamanho da Fonte
Nesta etapa, você aprenderá como implementar a configuração do tamanho da fonte. Siga as etapas abaixo para concluir esta etapa:
- Defina a variável "fontSize" em
datasobel: "#app"e defina o valor padrão como "18". No arquivoindex.html, localize o elemento<div class="set-font">. É aqui que os controles de tamanho da fonte serão exibidos.
data: {
fontSize: 18,
// ...
}
- Localize
<span class="lang">18</span>e altere 18 para a variávelfontSize.
<span class="lang">{{ fontSize }}</span>
- Adicione diretivas
@clickaos botões "A-" e "A+", vinculando-as ao métodoupdateFontSizena instância Vue. Passe um valor booleano para indicar se o tamanho da fonte deve ser aumentado ou diminuído.
<a @click="updateFontSize(false)" class="prev">A-</a>
<a @click="updateFontSize(true)" class="next">A+</a>
- Na instância Vue, adicione o método
updateFontSizeao objetomethods. Este método deve atualizar a propriedade de dadosfontSize, garantindo que o tamanho da fonte permaneça dentro da faixa de 12px a 48px.
methods: {
updateFontSize(flag) {
if (flag) {
if (this.fontSize < 48) {
this.fontSize += 2;
}
} else {
if (this.fontSize > 12) {
this.fontSize -= 2;
}
}
}
}
- No elemento
<p>com a classetext-content, use a diretiva:stylepara definir dinamicamente o tamanho da fonte e a altura da linha com base na propriedade de dadosfontSize.
<p
class="text-content"
:style="{
'background-color': `${bgList[isActiveColor]}`,
'color': isActiveColor === 4 ? '#ffffff' : '#333333',
'font-size': `${fontSize}px`,
'line-height': `${fontSize + 10}px`
}"
>
<!-- content -->
</p>
Seguindo estas etapas, você concluiu a implementação dos recursos do leitor de e-books, incluindo a alternância da visibilidade da barra de ferramentas do cabeçalho, a configuração do tema de leitura e a configuração do tamanho da fonte.
Em seguida, clique no botão Go Live no canto inferior direito do WebIDE para executar o projeto. Abra "Web 8080" no topo da VM e atualize-o manualmente para ver a página.

Resumo
Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.



