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 相关文章推荐
IE事件对象(The Internet Explorer Event Object)
Jun 27 Javascript
jQuery实现html表格动态添加新行的方法
May 28 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
动态加载js、css的实例代码
May 26 Javascript
JavaScript知识点总结(十)之this关键字
May 31 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
js实现点击按钮弹出上传文件的窗口
Dec 23 Javascript
JavaScript实现动态添加Form表单元素的方法示例
Aug 14 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
Mar 05 Javascript
详解如何使用微信小程序云函数发送短信验证码
Mar 13 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 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-fpm的配置详解
2013/06/03 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
原生JavaScript制作微博发布面板效果
2016/03/11 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
移动端js图片查看器
2016/11/17 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python语言实现百度语音识别API的使用实例
2017/12/13 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
执行力心得体会
2013/12/31 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
停车场管理协议书范本
2014/10/08 职场文书
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
python 进阶学习之python装饰器小结
2021/09/04 Python