当前位置:首页 > VUE

vue实现目录列表

2026-03-10 09:43:58VUE

Vue实现目录列表的方法

基础实现

使用v-for指令遍历数据数组生成目录列表,结合v-bind动态绑定属性。示例代码:

<template>
  <ul>
    <li v-for="(item, index) in menuItems" :key="index">
      <a :href="item.link">{{ item.title }}</a>
    </li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      menuItems: [
        { title: '首页', link: '/' },
        { title: '产品', link: '/products' },
        { title: '关于', link: '/about' }
      ]
    }
  }
}
</script>

嵌套目录结构

处理多级目录时使用递归组件。创建可复用的MenuItem组件:

<template>
  <li>
    <a v-if="!item.children" :href="item.link">{{ item.title }}</a>
    <span v-else>{{ item.title }}</span>
    <ul v-if="item.children">
      <menu-item 
        v-for="(child, i) in item.children" 
        :key="i" 
        :item="child"
      />
    </ul>
  </li>
</template>

<script>
export default {
  name: 'MenuItem',
  props: {
    item: Object
  }
}
</script>

动态高亮当前页

通过计算属性匹配当前路由实现高亮效果:

vue实现目录列表

computed: {
  activeRoute() {
    return this.$route.path
  }
}

模板中添加动态class:

<li 
  v-for="item in menuItems" 
  :class="{ 'active': item.link === activeRoute }"
>

响应式折叠菜单

添加v-show和点击事件控制子菜单显示/隐藏:

vue实现目录列表

data() {
  return {
    isOpen: false
  }
},
methods: {
  toggleMenu() {
    this.isOpen = !this.isOpen
  }
}

模板中绑定状态:

<span @click="toggleMenu">{{ item.title }}</span>
<ul v-show="isOpen">
  <!-- 子菜单项 -->
</ul>

使用Vue Router

集成Vue Router实现SPA导航:

import { RouterLink } from 'vue-router'

<RouterLink 
  v-for="item in menuItems" 
  :to="item.link"
>
  {{ item.title }}
</RouterLink>

标签: 目录列表
分享给朋友:

相关文章

vue实现列表显示

vue实现列表显示

Vue 实现列表显示的方法 在 Vue 中实现列表显示通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式。 基本列表渲染 通过 v-for 指令遍历数组,动态生成列…

vue 实现目录

vue 实现目录

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

uniapp 目录

uniapp 目录

uniapp 目录结构 uniapp 的目录结构遵循 Vue.js 项目的规范,同时包含一些特有的文件和目录。以下是典型的 uniapp 项目目录结构及其说明: project-name/ ├──…

vue实现搜索列表

vue实现搜索列表

Vue 实现搜索列表功能 在 Vue 中实现搜索列表功能通常需要以下几个关键步骤: 数据绑定与列表渲染 使用 v-model 绑定搜索输入框,监听用户输入。通过 v-for 指令渲染过滤后的列表数据…

vue实现功能列表

vue实现功能列表

Vue 实现功能列表的方法 在 Vue 中实现功能列表通常涉及数据绑定、列表渲染、事件处理和状态管理。以下是几种常见的方法: 数据驱动列表渲染 使用 v-for 指令可以轻松实现列表渲染。假设有一个…

vue实现文本列表

vue实现文本列表

Vue 实现文本列表的方法 Vue 可以通过多种方式实现文本列表的渲染和管理,以下是几种常见的方法: 使用 v-for 指令渲染列表 通过 v-for 指令可以动态渲染数组或对象中的文本列表。 &…