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 相关文章推荐
ExtJS Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
JavaScript优化专题之Loading and Execution加载和运行
Jan 20 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
Jun 03 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
Feb 09 Javascript
微信小程序实现多个按钮的颜色状态转换
Feb 15 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
使用Node.js实现RESTful API的示例
2017/08/01 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
vue多次循环操作示例
2019/02/08 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
基于python的字节编译详解
2017/09/20 Python
Python3 max()函数基础用法
2019/02/19 Python
python SVM 线性分类模型的实现
2019/07/19 Python
详解python中index()、find()方法
2019/08/29 Python
python实现用类读取文件数据并计算矩形面积
2020/01/18 Python
python爬虫学习笔记之pyquery模块基本用法详解
2020/04/09 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
励志演讲稿600字
2014/08/21 职场文书
2014年创卫工作总结
2014/11/24 职场文书
总经理聘用协议书
2015/09/21 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python