当前位置:首页 > VUE

vue实现小说目录

2026-02-17 17:23:23VUE

Vue 实现小说目录功能

数据准备

小说目录通常是一个列表结构,可以通过数组形式存储章节信息。数据格式示例:

chapters: [
  { id: 1, title: "第一章 重生", content: "..." },
  { id: 2, title: "第二章 系统", content: "..." },
  // 更多章节...
]

目录列表渲染

使用 v-for 指令渲染目录列表,建议使用 <router-link> 实现章节跳转:

vue实现小说目录

<ul class="chapter-list">
  <li v-for="chapter in chapters" :key="chapter.id">
    <router-link 
      :to="{ path: '/chapter', query: { id: chapter.id } }"
      @click="loadChapter(chapter.id)"
    >
      {{ chapter.title }}
    </router-link>
  </li>
</ul>

样式优化

为目录添加基础样式,增强可读性和交互性:

vue实现小说目录

.chapter-list {
  padding: 0;
  list-style: none;
}
.chapter-list li {
  padding: 8px 12px;
  border-bottom: 1px solid #eee;
}
.chapter-list a {
  color: #333;
  text-decoration: none;
}
.chapter-list a:hover {
  color: #42b983;
}

章节内容加载

通过点击事件或路由参数加载对应章节内容:

methods: {
  loadChapter(id) {
    const chapter = this.chapters.find(c => c.id === id);
    this.currentChapter = chapter;
    // 或通过API请求获取内容
  }
}

路由配置

配置 Vue Router 支持章节路由:

const routes = [
  {
    path: '/chapter',
    component: ChapterView,
    props: route => ({ id: route.query.id })
  }
]

进阶功能

  • 添加折叠/展开功能管理多卷小说
  • 实现阅读进度标记
  • 增加搜索功能快速定位章节
  • 使用虚拟滚动优化长列表性能

完整组件示例

<template>
  <div class="novel-container">
    <div class="sidebar">
      <h3>目录</h3>
      <ul class="chapter-list">
        <li v-for="chapter in chapters" :key="chapter.id">
          <a 
            href="#" 
            @click.prevent="loadChapter(chapter.id)"
            :class="{ active: currentChapter?.id === chapter.id }"
          >
            {{ chapter.title }}
          </a>
        </li>
      </ul>
    </div>
    <div class="content">
      <h2>{{ currentChapter?.title }}</h2>
      <p v-html="currentChapter?.content"></p>
    </div>
  </div>
</template>

标签: 目录小说
分享给朋友:

相关文章

vue 实现目录

vue 实现目录

在 Vue 中实现目录功能 使用 vue-router 动态生成路由目录 安装 vue-router 并配置动态路由,通过遍历路由信息生成目录结构: // router/index.js const…

vue中实现目录树‘

vue中实现目录树‘

实现目录树的基本思路 在Vue中实现目录树通常需要递归组件来处理嵌套结构。目录树的数据通常是一个包含子节点的树形结构,每个节点可能有自己的子节点。 数据准备 准备一个树形结构的数据,例如: con…

vue实现多级导航目录

vue实现多级导航目录

Vue 实现多级导航目录 数据结构设计 使用嵌套的树形结构存储导航数据,例如: const menuData = [ { title: '一级菜单1', children: […

vue实现本地目录树

vue实现本地目录树

实现本地目录树的基本思路 在Vue中实现本地目录树通常需要结合文件系统API(如浏览器端的File API或Node.js的fs模块)和递归组件技术。以下是两种常见场景的实现方法: 浏览器端实现(基…

php实现小说

php实现小说

PHP实现小说网站的基本功能 使用PHP构建小说网站需要实现用户管理、章节发布、阅读界面等核心功能。以下是关键实现步骤: 数据库设计 创建数据库表结构存储小说信息: CREATE TABLE no…

php实现目录拼接

php实现目录拼接

PHP 实现目录拼接的方法 在 PHP 中,目录拼接通常用于将多个路径部分组合成一个完整的路径。可以使用内置函数或手动处理字符串来实现。 使用 DIRECTORY_SEPARATOR 常量…