Vue-router的使用和出现空白页,路由对象属性详解


Posted in Javascript onSeptember 03, 2018

Vue-router的使用和出现空白页

2018.08.28 更新

vue-router:前端路由系统——改变视图的同时不会向后端发出请求

1、 hash

2、history

2018.06.25 更新

get到一个新技能

import Vue from 'vue'
import Router from 'vue-router'
import api from '../lib/service' //接口文档

Vue.use(Router)
const router = {
 mode: 'history',
 routes: [{
 chunkName: 'src/pages/index',
 name: 'index',
 path: '/',
 beforeEnter: async (to, from, next) => {
  await api.login().then((res) => {
  console.log(res)
  next()
  }).catch((rej) => {
  console.log('error')
  console.log(rej)
  next()
  })
 },
 component: () => import('../../src/pages/index.vue')
 }]
}

export default new Router(router)

beforeEnter:在加载路由时可以做一些事情,上面的代码执行的是,在加载之前调用登陆接口

2018 5.5 更新

空白页还有一种情况,页面中数据使用的错误,会导致空白页

可以带参数传路由,有兴趣的小伙伴可以试试

这个方法是我经常用的

this.$route.push({

 path: '路径',
 query: {
   key: 'value'
 }

})

跳转至另一个页面时,这样获取传的参数

this.$route.query.key

两种设计模式

history/hash

还有一些别的我记录的方法

$route.path

$route.params

$route.query

$route.hash

$route.matched //路由记录

$route.name

$route.fullPath //包含查询参数和hash完整路径

route.go(num)

router-link :to=”path”

//原来写的

自己之前跟着vue教学视频跟着老师一起打代码,现在为了配合课程设计准备自己写个vue项目,刚开始就在vue-router上遇到了小坎坷,就想分享一下

放上代码

main.js

import VueResource from 'vue-resource'
import Index from './pages/index'
import Content from './pages/content'
import router from './router'
import Router from 'vue-router'

Vue.config.productionTip = false

Vue.use(Router)

Vue.use(VueResource)

let routers = new Router({
 mode: 'history',
 routes: [
 {
  path: '/',
  component: Content,
  children: [
  {
   path: '/content',
   component: Content
  }
  ]
 }
 ]
})
/* eslint-disable no-new */
new Vue({
 el: '#app',
 routers,
 template: '<Index/>',
 components: { Index }
})

index.vue

<template>
 <div id="app" class="wrapper">
  <div class="nav">
   <ul>
    <li>首页</li>
    <li>技术文档</li>
    <li>留言</li>
    <li>关于我</li>
   </ul>
  </div>
  <div class="content">
    <router-view></router-view>
  </div>
  <div class="footer">
   @dwf
  </div>
 </div>


</template>

<script>
</script>

<style>
</style>

content.vue

<template>
 <div>
  1111
 </div>
</template>

<script>
</script>

<style>
</style>

这样写下来,没报错,可是运行以后就是空白页

之前是因为生成项目时,我就直接用了router,为了不冲突自己生成的router,我自己改了名称routers, 后来考虑到是不是import router from './router'这个不起作用,就删掉了,自己cnpm vue-router。但是还是没有用。

后来把routers改了, 把这个routers改成router,页面就出现了。

let routers = new Router({

当然下面的routers也改了。

vue-router的使用流程:

cnpm install vue-router ?save;
import Router from vue-router;
Vue.use(Router);
let router = new Router({ 
routes: [//路由路径] 
});
new Vue({ router })

使用

完毕

然后有几点注意事项,以下几点都是我碰到出现了空白页的情况,po出来可能会有点帮助:

routes:不是routers

let router = new Router({}) 不要乱起名字 //虽然我现在还不知道为什么,有大神可以赐教一下嘛

不要忘记挂载在new Vue({})里面

子路由的路径前面不要加‘/'

let router = new VueRouter({ 
mode: 'history', 
routes: [ 
{ 
path: '/', 
component: IndexPage 
}, 
{ 
path: '/orderList', 
component: OrderListPage 
}, 
{ 
path: '/detail', 
component: DetailPage, 
redirect: '/detail/count', 
children: [ 
{ 
path: 'analysis', 
component: DetailAnaPage 
} 
] 
} 
] 
})

以上这篇Vue-router的使用和出现空白页,路由对象属性详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用jQuery实现的网页版的个人简历(可换肤)
Apr 19 Javascript
js弹出层永远居中实现思路及代码
Nov 29 Javascript
解决js中window.open弹出的是上次的缓存页面问题
Dec 29 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
Jan 09 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 Javascript
基于AngularJS实现iOS8自带的计算器
Sep 12 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
Nov 28 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
Sep 26 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 #Javascript
JavaScript日期工具类DateUtils定义与用法示例
Sep 03 #Javascript
Angular5中状态管理的实现
Sep 03 #Javascript
JavaScript创建对象方法实例小结
Sep 03 #Javascript
vue自定义底部导航栏Tabbar的实现代码
Sep 03 #Javascript
解决vue单页路由跳转后scrollTop的问题
Sep 03 #Javascript
webpack4 SCSS提取和懒加载的示例
Sep 03 #Javascript
You might like
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
javascript String 的扩展方法集合
2008/06/01 Javascript
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
AngularJs  Creating Services详解及示例代码
2016/09/02 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
2017/08/16 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
TypeScript之调用栈的实现
2019/12/31 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Python实现的质因式分解算法示例
2018/05/03 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
Python基于requests库爬取网站信息
2020/03/02 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
MYSQL支持事务吗
2013/08/09 面试题
汽车专业学生自我评价
2014/01/19 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
公司财务部岗位职责
2015/04/14 职场文书
开票证明
2015/06/23 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
MySQL分区表实现按月份归类
2021/11/01 MySQL
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS