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 相关文章推荐
图像替换新技术 状态域方法
Jan 28 Javascript
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
Javascript alert消息换行的方法
Aug 07 Javascript
jQuery让控件左右移动的三种实现方法
Sep 08 Javascript
js跑步算法的实现代码
Dec 04 Javascript
原生Javascript封装的一个AJAX函数分享
Oct 11 Javascript
jquery图形密码实现方法
Mar 11 Javascript
JQuery中DOM事件合成用法实例分析
Jun 13 Javascript
js实现鼠标点击左上角滑动菜单效果代码
Sep 06 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
Apr 05 Javascript
Angular6 用户自定义标签开发的实现方法
Jan 08 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
Sep 13 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中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
jQuery DOM插入节点操作指南
2015/03/03 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
2019/03/19 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
python监控nginx端口和进程状态
2019/09/06 Python
python将数组n等分的实例
2019/12/02 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
django 模型字段设置默认值代码
2020/07/15 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
error和exception有什么区别
2012/10/02 面试题
涉密人员保密承诺书
2014/05/28 职场文书
校庆标语集锦
2014/06/25 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
校本培训个人总结
2015/02/28 职场文书
致接力运动员加油稿
2015/07/21 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
晶体管来复再生式二管收音机
2021/04/22 无线电
MySQL创建高性能索引的全步骤
2021/05/02 MySQL