vue2.0嵌套路由实现豆瓣电影分页功能(附demo)

发布时间 - 2026-01-11 00:08:37    点击率:

前言

最近练习Vue,看到官方文档中的嵌套路由,不做不知道,实在是太坑了,网上资料demo少之又少,然后自己就做了一个demo,用了vue2.0嵌套路由实现豆瓣电影分页功能,供大家学习学习,写得不好望见谅。

demo截图:


Demo简单介绍

主路由:Top250(charts),正在热映(hot),即将上映(ing),新片榜(newmovie)

const router = new VueRouter({
  routes: [
    {
     path: '/',  //设置默认路由为Top250
     component: charts
    },
    {
     path: '/charts', //Top250
     component: charts
    },
    {
     path: '/hot', 
     component: hot
    },
    {
     path: '/ing',
     component: ing
    },
    {
     path: '/newmovie',
     component: newmovie
    },
  ]
 }

在top250(charts)上添加了分页功能作为子路由,在配置上添加:

{
 path: '/charts/:id', //子路由
 component: charts,
 children: [
  {path: '1', component: moviecontent}, 
  {path: '2', component: moviecontent2},
  {path: '3', component: moviecontent3}
  ]
}

在charts组件上添加入口:

<router-link to="/charts/1">1</router-link>
<router-link to="/charts/2">2</router-link>
<router-link to="/charts/3">3</router-link>

在charts组件上添加出口:

<router-view></router-view>

子路由如何跳转同一组件时数据实现更新?

同样,在top250(charts)上添加了分页功能作为子路由,但指向同一组件:

{
 path: '/charts/:id', //子路由
 component: charts,
 children: [
  {path: '1', component: moviecontent2}, // 同一组件
  {path: '2', component: moviecontent2}, // 同一组件
  {path: '3', component: moviecontent2} // 同一组件
  ]
}

画重点:

因为路由切换同一组件时,实例已经在第一次进入路由时创建了,之后切换路由不会被创建了,所以只能调用一次created,因此要使用$route监听getData方法,当路由切换的时候,调用getData方法,重新获取数据。

created: function () {
    //第一次进入路由时数据的更新
    this.$http.jsonp()
},
watch: {
 '$route': 'getData' //切换路由,调用getData方法
},
methods: {
 getData: function () {
    //路由切换,重新请求数据
    this.$http.jsonp()
 }
}

数据来自豆瓣电影API。

代码写得好烂,凑合着看吧,反正子路由还是成功的啊!

本demo地址:doubandemo_jb51.rar

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue.js实现分页  # vue嵌套路由实现分页  # vue.js  # 分页  # Vue2 响应式系统之分支切换  # Vue2响应式系统介绍  # Vue2 响应式系统之异步队列  # vue2路由方式--嵌套路由实现方法分析  # Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)  # vue2.0使用v-for循环制作多级嵌套菜单栏  # 详解vue2.0 transition 多个元素嵌套使用过渡  # Vue2响应式系统之嵌套  # 写得  # 用了  # 不做  # 少之又少  # 跳转  # 看吧  # 就做  # 要使  # 大家多多  # 文档  # 网上  # pre  # newmovie  # hot  # ing  # js  # const  # class  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: js代码实现下拉菜单【推荐】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  微信小程序 canvas开发实例及注意事项  如何用wdcp快速搭建高效网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  js实现获取鼠标当前的位置  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  SQL查询语句优化的实用方法总结  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  深入理解Android中的xmlns:tools属性  JS实现鼠标移上去显示图片或微信二维码  Linux系统命令中screen命令详解  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何实现用户注册和登录?(Auth脚手架指南)  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在七牛云存储上搭建网站并设置自定义域名?  Laravel集合Collection怎么用_Laravel集合常用函数详解  网站制作大概多少钱一个,做一个平台网站大概多少钱?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  中山网站制作网页,中山新生登记系统登记流程?  LinuxCD持续部署教程_自动发布与回滚机制  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel如何实现API速率限制?(Rate Limiting教程)  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  非常酷的网站设计制作软件,酷培ai教育官方网站?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  在Oracle关闭情况下如何修改spfile的参数  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  zabbix利用python脚本发送报警邮件的方法  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在景安服务器上快速搭建个人网站?  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  *服务器网站为何频现安全漏洞?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  phpredis提高消息队列的实时性方法(推荐)  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  新三国志曹操传主线渭水交兵攻略  Python文本处理实践_日志清洗解析【指导】  如何用虚拟主机快速搭建网站?详细步骤解析  如何在阿里云ECS服务器部署织梦CMS网站?  如何快速搭建高效可靠的建站解决方案?  如何在腾讯云免费申请建站?