解决vue多个路由共用一个页面的问题


Posted in Javascript onMarch 12, 2018

在日常的vue开发中我们可能会遇见多个路由需要共用一个页面的需求,特别是当路由是通过动态添加的,不同的路由展示的东西只是数据不同其他没有变化。例如:

let routes = [
  {path:"/zhanshan",
  components:Person,
  },
  {path:"/lisi",
  components:Person,
  },
  {path:"/wangwu",
  components:Person,
  }
]

这种情况的时候,我们发现,其实我们的页面在第一次加载成功后就不会再加载了。所以页面一直显示第一次加载的数据,给人的赶脚好像路由没有生效,而我们通过观察浏览器地址栏中的变化可以确定的是这和路由没关系,这对刚刚开始使用的vue的同学可能会产生一点点困扰,其实这和页面的声明周期是相关的,这种情况出现的原因是因为页面在加载后他的大多数钩子函数(mounted,computed…)就不会再次出发了,所以导致页面感觉没有跳转。

一道这种业务需求其实也比较好处理,其实我们不需要页面切换,我们只需要页面中的数据发生改变就好了,我们可以在页面中监听路由地址的变化,当地址变化的时候,我们就重新加载数据。

watch:{
 "$route":function(to,from){
   //from 对象中包含当前地址
   //to 对象中包含目标地址
   //其实还有一个next参数的,这个参数是控制路由是否跳转的,如果没写,可以不用写next()来代表允许路由跳转,如果写了就必须写next(),否则路由是不会生效的。
 }
}

每当路由发生变化的时候上面的函数都会被触发,我们可以在这个函数中对页面的数据进行重新加载的操作。如果页面结构变化很大,还是建议单独新建一个不同的页面。

上面的问题可能对新入门vue的朋友有用,对vue比较了解了的朋友请绕过。

这篇解决vue多个路由共用一个页面的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript高亮效果的二种实现方法
Sep 14 Javascript
JavaScript 对话框和状态栏使用说明
Oct 25 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
Jan 23 Javascript
js左侧三级菜单导航实例代码
Sep 13 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
Aug 31 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
jQuery实现动态删除LI的方法
May 30 jQuery
VUE实现移动端列表筛选功能
Aug 23 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
Sep 06 Javascript
WEB前端性能优化的7大手段详解
Feb 04 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
angular5 httpclient的示例实战
Mar 12 #Javascript
vue 简单自动补全的输入框的示例
Mar 12 #Javascript
webpack打包js的方法
Mar 12 #Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 #Javascript
vue路由懒加载的实现方法
Mar 12 #Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 #Javascript
详解vuex的简单使用
Mar 12 #Javascript
You might like
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
PHP中array_merge和array相加的区别分析
2013/06/17 PHP
基于simple_html_dom的使用小结
2013/07/01 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
PHP中CURL的几个经典应用实例
2015/01/23 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
详解Document.Cookie
2015/12/25 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
python读取Excel实例详解
2018/08/17 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
综合办公室主任职责
2013/12/16 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
教师校本培训方案
2014/02/26 职场文书
公司聘任书模板
2014/03/29 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
交通安全教育心得体会
2016/01/15 职场文书
Selenium浏览器自动化如何上传文件
2022/04/06 Python