Vue-router路由转发
Vue-router路由转发
- 前言
- 安装
- 使用
- 创建自己的组件
- 创建router文件夹
- 配置路由
- 使用路由
- 问题
前言
为什么我们要学习vue-router路由转发呢?
由于VUE只专注于视图层,所以其他的都由一些组件来完成,路由转发就是其中一个,VUE Router是VUE官方的路由管理器,它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌。
包含以下功能:
- 嵌套的路由/视图表
- 模块化的、基于组件的路由配置
- 路由参数、查询、通配符
- 基于Vue.js过渡系统的视图过渡效果
- 细粒度的导航控制
- 带有自动激活的CSS class的链接
- HTML5历史模式或hash模式,在IE9中自动降级
- 自定义的滚动条行为
安装
我们基于vue-cli
进行测试学习,可以先查看node_modules中是否存在vue-router
使用如下命令进行安装:
npm install vue-router --save-dev
在当前项目下面进行安装
如果失败就使用cnpm
注意,最好不要用最新版本的,否则可能会出现问题,最好用3.x版本的。
如果你发现打包失败,或者提示找不到Router,就使用以下命令:
卸载原有路由:npm uninstall vue-router
安装3.0版本:npm i vue-router@3.5.2
vue2.x对应vue-router3.x
vue3.x对应vue-router4.x
使用
创建自己的组件
在src/componts
文件夹下面可以写我们自己的组件,这里我写了两个组件,一个是首页,一个是内容页面。
Main.vue
<template><h1>首页</h1>
</template><script>
export default {name: "Main"
}
</script><style scoped></style>
Content.vue
<template><h1>内容页</h1>
</template><script>
export default {name: "Content"
}
</script><style scoped></style>
创建router文件夹
专门用来存放路由
我这里还创建了一个index.js
,这里的index不是首页的意思,而是主要配置文件的意思,把我们创建的组件配置进来。
import Vue from 'vue'
import VueRouter from 'vue-router'
import Content from '../components/Content'
import Main from '../components/Main'//安装路由
Vue.use(VueRouter);//配置导出路由
export default new VueRouter({routes: [{//配置路由路径 相当于@RequestMappingpath: '/content',name: 'content',//跳转的组件component: Content},{//配置路由路径path: '/main',name: 'main',//跳转的组件component: Main}]});
这里我创建了两个组件,一个首页,一个是内容页
并且导入到我的路由中去
import Content from '../components/Content'
import Main from '../components/Main'
配置路由
在main.js
文件中配置路由
import router from './router' //自动扫描里面的路由配置
//配置路由router,
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router' //自动扫描里面的路由配置Vue.config.productionTip = false/* eslint-disable no-new */
new Vue({el: '#app',//配置路由router,components: { App },template: '<App/>'
})
使用路由
在App.vue
中使用路由
<template><div id="app"><img src="./assets/logo.png"><HelloWorld/><router-link to="/main">首页</router-link><router-link to="/content">内容页</router-link><router-view></router-view></div>
</template><script>
import HelloWorld from './components/HelloWorld'export default {name: 'App',components: {HelloWorld}
}
</script><style>
#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>
<router-link to="/main">首页</router-link><router-link to="content">内容页</router-link><router-view></router-view>
我们使用router-link
,类似于<a>
,to
来控制我们跳转的位置,类似于href
,然后使用<router-view>
来显示我们的视图。
这样配置以后,我们就可以专注于写我们自己的组件,然后把组件写入index.js,最后在App.vue中展示出来即可。
问题
执行npm run dev,报错,显示没有找到Router,但是我们在前面已经安装了Router,这是怎么回事呢?
解决:由于我们安装vue-router的时候,没有指定相应的版本,所以默认安装最新版本,我们的vue是2.x的,不能使用vue-router4.x的,语法不同,所以执行会报错,我们需要给vue-router降级。
卸载原有路由:npm uninstall vue-router
安装3.0版本:npm i vue-router@3.5.2
这样即可解决。
Vue-router路由转发相关推荐
- Vue 学习(十、 Vue Router - 路由插件 和 Vue 的插件原理)
文章目录 一.Vue Router - 路由插件 1. 安装 Vue Router 2. Vue Router 路由的基本使用 3. 设置 router-link 4. 编程式路由 5. 路由嵌套 6 ...
- Vue Router 路由管理
文章目录 Vue Router 路由管理 概述 安装 简单使用 定义2个组件 定义路由信息 支持路由 使用路由 动态路由 配置动态路由 配置404 限制动态参数 嵌套路由 命名路由 编程式导航 简单使 ...
- 【Vue】相关生态——Vue Router路由
Vue Router路由 基本使用 带参数的动态路由匹配 捕获所有路由或404 Not found 路由 嵌套路由 编程式导航 重定向和别名 将props传递给路由组件 不同的历史模式 进阶 导航守卫 ...
- Vue Router路由常用功能总结
Vue Router路由常用功能总结 一.前言 二.安装 1. vueCLI安装 2. npm安装 三.路由配置及使用: 1. 基本配置: 2. 动态路由: 3. 嵌套路由: 四.编程式的导航 五.重 ...
- Vue.js 3.0 学习笔记(十一)Vue Router路由
一.使用Vue Router 1.HTML页面使用路由 <!DOCTYPE html> <html> <head><meta charset="UT ...
- Vue | Vue Router 路由的使用
文章目录 一.路由的基本使用 1.创建 Vue 项目并引入 vue-router 2.编写 Components 组件 3.编写路由文件 4.在主文件 Main.js 中引入路由 5.添加 route ...
- Vue Router 路由导航
Vue Router 通过 Vue.js,我们已经用组件组成了我们的应用.当加入 Vue Router 时,我们需要做的就是将我们的组件映射到路由上,让 Vue Router 知道在哪里渲染它们. V ...
- Vue Router路由模式的区别 进程线程的区别
Vue Router hash模式和history模式的区别 hash模式url里面永远带着#号,我们在开发当中默认就是hash模式. 那么什么时候需要用到history模式呢? 肯定是用户觉得#号太 ...
- vue router 路由跳转方法概述
一.概述 使用到Vue的项目,我们最常见使用的就是Vue配套的Vue Router库. 那么在平日开发中,有多少种跳转路由的方法? 二.跳转方法 1.使用router-link标签 使用router- ...
- vue项目没有router文件夹_vue项目——Vue Router路由的使用
前言: 学习vue也有一段时间了,这里把学习整个vue项目中的一些知识点和问题,整理下方便自己记录,也希望给大家带来方便.我会连续写几篇系统的文章,讲解一个完整的vue项目中用到的各个使用模块.今天先 ...
最新文章
- R语言使用ggplot2可视化互相覆盖的直方图实战(Overlaying histograms)
- Python3.x和Python2.x的区别
- Visual Studio 2019连接自动的Sql Server开发版数据库(C#语言)
- stream模式不能接受blob文件_一文带你层层解锁文件下载的奥秘
- struts2令牌(token)内部原理
- 巡查准确率怎么算_【达睿原创】需求预测准确率,你怎么看 ?
- postgresql查看死锁及解决方法
- 苹果Mac全能视频播放器:Playr
- docker安装cboard
- ABBYY FineReader添加盖章戳记
- 使用 Sublime 比较文档差异
- 最小二乘法线性拟合介绍以及matlab实现
- 利用List集合实现简单的斗地主
- Pipeline快速入门
- 理想主义者与现实主义者的差别
- 鼠标按住后拖动StringGrid
- 题9.5:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓 名、3门课程成绩、平均分数)。
- 查看Linux下的文件
- Microsoft Dynamics CRM Javascript定制表单左边导航栏
- 苹果电脑怎么查保修期?
热门文章
- 中国移动 云MAS平台HTTP2.1(HTTP版)发送普通短信
- 【微积分的本质|笔记】隐函数求导的意义与理解
- 第二次练车,练了一天倒库
- 面试培训机构里的教师时,一分钟的自我介绍和五分钟的试讲如何安排?需要注意什么?
- 每日学习-Java基础(十)接口和继承10(内部类)
- html a href 文件下载 IE直接打开 内容乱码
- 【毕业设计_课程设计】基于python的微信公众平台机器人的设计与实现
- 外卖优惠券返利系统外卖返利公众号搭建cps系统小程序SaaS源码
- 内存诊断工程搭建及demo测试
- mysql:设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示