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


Posted in Javascript onMarch 13, 2017

前言

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

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_3water.rar

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

Javascript 相关文章推荐
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 Javascript
使用javascript做的一个随机点名程序
Feb 13 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
jQuery获取选中内容及设置元素属性的方法
Jul 09 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
Mar 16 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
20行JS代码实现粘贴板复制功能
Feb 06 Javascript
浅谈js闭包理解
Apr 01 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
May 14 Javascript
redux处理异步action解决方案
Mar 22 Javascript
基于Vue实现微前端的示例代码
Apr 24 Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 #Javascript
深入理解Node.js中的进程管理
Mar 13 #Javascript
jQuery简易时光轴实现方法示例
Mar 13 #Javascript
JavaScript评论点赞功能的实现方法
Mar 13 #Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
Mar 13 #Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 #Javascript
JS实现直接运行html代码的方法
Mar 13 #Javascript
You might like
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php中JSON的使用与转换
2015/01/14 PHP
老版本PHP转义Json里的特殊字符的函数
2015/06/08 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python写入已存在的excel数据实例
2018/05/03 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
75条笑死人的知乎神回复,用60行代码就爬完了
2019/05/06 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
蔻驰英国官网:COACH英国
2020/07/19 全球购物
药学专业毕业生求职信
2013/10/20 职场文书
双创工作实施方案
2014/03/26 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
商务经理岗位职责
2014/07/30 职场文书
平面设计专业求职信
2014/08/09 职场文书
全国法制宣传日活动总结2014
2014/11/01 职场文书
排球赛新闻稿
2015/07/17 职场文书