当前位置:首页 > 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>

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

相关文章

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

php 实现目录树

php 实现目录树

实现目录树的方法 在PHP中实现目录树功能,可以通过递归或迭代方式遍历文件系统。以下是两种常见的实现方法: 递归方法 递归是处理目录树的自然方式,适合层级不深的结构: function b…

weex  vue 实现列表

weex vue 实现列表

weex + Vue 实现列表的方法 使用<list>和<cell>组件 在weex中,列表通常通过<list>和<cell>组件实现。<list…

vue实现列表过渡

vue实现列表过渡

vue实现列表过渡的方法 在Vue中,可以使用内置的<transition-group>组件来实现列表项的过渡效果。该组件专门为动态列表设计,能够处理元素的添加、删除和顺序变化。…

vue实现虚拟列表

vue实现虚拟列表

虚拟列表的概念 虚拟列表(Virtual List)是一种优化长列表渲染性能的技术,通过仅渲染可视区域内的元素,减少DOM节点数量,从而提升页面性能。适用于数据量大的场景(如表格、下拉选择器等)。…

vue实现伸缩列表

vue实现伸缩列表

Vue 实现伸缩列表的方法 使用 Vue 实现伸缩列表可以通过动态绑定样式或类名,结合过渡效果实现平滑的展开和收起动画。以下是几种常见实现方式: 动态绑定高度 通过 v-if 或 v-show 控制…