当前位置:首页 > VUE

vue router实现分页

2026-02-10 18:51:06VUE

Vue Router 实现分页的方法

使用 query 参数传递页码

在路由配置中无需特殊修改,直接通过 this.$router.push<router-link> 传递 query 参数:

// 跳转到第二页
this.$router.push({ path: '/list', query: { page: 2 } })

模板中使用:

<router-link :to="{ path: '/list', query: { page: pageNumber } }">
  第{{ pageNumber }}页
</router-link>

获取当前页码:

const currentPage = this.$route.query.page || 1

使用 params 参数传递页码

路由配置需要定义动态参数:

{
  path: '/list/:page',
  name: 'List',
  component: List
}

跳转时:

this.$router.push({ name: 'List', params: { page: 2 } })

获取参数:

const currentPage = this.$route.params.page || 1

结合分页组件实现

封装分页组件时监听路由变化:

watch: {
  '$route' (to, from) {
    this.fetchData(to.query.page || to.params.page || 1)
  }
}

保持页面状态

使用 keep-alive 缓存分页组件:

<keep-alive>
  <router-view></router-view>
</keep-alive>

滚动行为控制

在路由配置中添加滚动行为:

const router = new VueRouter({
  scrollBehavior (to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition
    } else {
      return { x: 0, y: 0 }
    }
  }
})

分页数据获取

在组件中根据路由参数获取数据:

vue router实现分页

created() {
  this.fetchData(this.$route.query.page || 1)
},
methods: {
  fetchData(page) {
    axios.get(`/api/data?page=${page}`).then(response => {
      this.items = response.data
    })
  }
}

注意事项

  • 分页参数变化时需触发数据重新获取
  • 考虑使用防抖避免频繁请求
  • 路由参数需进行类型转换(字符串转数字)
  • 服务端需支持分页参数处理

以上方法可根据实际项目需求组合使用,query 方式适合简单分页,params 方式适合 SEO 友好的 URL 结构。

标签: 分页vue
分享给朋友:

相关文章

vue插槽实现

vue插槽实现

插槽的基本概念 Vue插槽(Slot)是一种内容分发机制,允许父组件向子组件传递模板片段,子组件通过<slot>标签定义接收位置。插槽的核心作用是增强组件的灵活性和复用性。 默认插槽 子…

vue底层实现

vue底层实现

Vue.js 的底层实现原理 Vue.js 是一个渐进式 JavaScript 框架,其核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是其关键实现细节: 响应式系统 Vue 2…

vue sku 实现

vue sku 实现

Vue SKU 实现方案 在电商系统中,SKU(Stock Keeping Unit)是商品的最小库存单位,通常由多个属性组合而成(如颜色、尺寸等)。以下是基于 Vue 的实现方案。 数据结构设计…

用vue实现滚动

用vue实现滚动

实现滚动的基本方法 在Vue中实现滚动可以通过多种方式完成,包括使用原生JavaScript、Vue指令或第三方库。以下是几种常见的方法: 使用ref和原生JavaScript 在模板中定义一个可滚…

vue实现版本树

vue实现版本树

Vue 实现版本树 版本树通常用于展示项目或文档的版本历史,类似于 Git 的提交历史。以下是基于 Vue 的实现方法: 数据结构设计 版本树的数据通常是一个树形结构,每个节点包含版本信息(如版本号…

vue 实现登录跳转

vue 实现登录跳转

实现登录跳转的核心逻辑 在Vue中实现登录跳转通常涉及路由守卫、状态管理和API交互。以下是具体实现方式: 配置路由守卫 在路由配置文件中添加beforeEach守卫,检查用户是否已登录。未登录时重…