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 相关文章推荐
AJAX使用了UpdatePanel后无法使用alert弹出脚本
Apr 02 Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 Javascript
微信小程序 常用工具类详解及实例
Feb 15 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
Mar 08 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
JS全角与半角转化实例(分享)
Jul 04 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
使用Vue完成一个简单的todolist的方法
Dec 01 Javascript
vue路由守卫+登录态管理实例分析
May 21 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
May 22 Javascript
tracking.js实现前端人脸识别功能
Apr 16 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递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
javascript date格式化示例
2013/09/25 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
2015/12/10 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
DOM事件探秘篇
2017/02/15 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
jquery实现动态添加附件功能
2018/10/23 jQuery
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Pyqt5实现英文学习词典
2019/06/24 Python
简单介绍python封装的基本知识
2019/08/10 Python
python 实现波浪滤镜特效
2020/12/02 Python
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
出生公证书样本
2014/04/04 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
安全环保标语
2014/06/09 职场文书
校运会口号
2014/06/18 职场文书
自查自纠整改报告
2014/11/06 职场文书
80后创业总结的9条职场用人思想,记得收藏
2019/08/13 职场文书
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android