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 相关文章推荐
JavaScript对象创建及继承原理实例解剖
Feb 28 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
JavaScript框架(iframe)操作总结
Apr 16 Javascript
jquery修改网页背景颜色通过css方法实现
Jun 06 Javascript
javascript冒泡排序小结
Apr 10 Javascript
JavaScript验证知识整理
Mar 24 Javascript
ReactJS实现表单的单选多选和反选的示例
Oct 13 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
Sep 28 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
js+canvas绘制图形验证码
Sep 21 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压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
2015/02/02 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
jQuery 处理页面的事件详解
2015/01/20 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
Javascript复制实例详解
2016/01/28 Javascript
AngularJS身份验证的方法
2016/02/17 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python面向对象编程基础解析(二)
2017/10/26 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Django 使用easy_thumbnails压缩上传的图片方法
2019/07/26 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
语文教育专业应届生求职信
2013/11/23 职场文书
党员转正意见怎么写
2015/06/03 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
2016猴年春节问候语
2015/11/11 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
Python基本的内置数据类型及使用方法
2022/04/13 Python