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在页面中添加和除移DOM示例代码
Jun 24 Javascript
js中javascript:void(0) 真正含义
Nov 05 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
Mar 02 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
Jan 13 Javascript
详解vue-router 2.0 常用基础知识点之router-link
May 10 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
详解js的作用域、预解析机制
Feb 05 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
Aug 12 Javascript
微信小程序实现同时上传多张图片
Feb 03 Javascript
JavaScript中reduce()的5个基本用法示例
Jul 19 Javascript
Vue select 绑定动态变量的实例讲解
Oct 22 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 定界符 使用技巧
2009/06/14 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
轮播的简单实现方法
2016/07/28 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
python实现linux下抓包并存库功能
2018/07/18 Python
Python中的类与类型示例详解
2019/07/10 Python
Python collections模块使用方法详解
2019/08/28 Python
python 字符串格式化的示例
2020/09/21 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
奥巴马上海演讲稿
2014/09/10 职场文书
邀请函怎么写
2015/01/30 职场文书
卖车协议书范文
2016/03/23 职场文书
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
2021/06/15 Javascript
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android