vue3使用vue-router的完整步骤记录


Posted in Vue.js onJune 20, 2021

前言

对于大多数单页应用程序而言,管理路由是一项必不可少的功能。随着新版本的Vue Router处于Alpha阶段,我们已经可以开始查看下一个版本的Vue中它是如何工作的。

Vue3中的许多更改都会稍微改变我们访问插件和库的方式,其中包括Vue Router。

一、第一步:安装vue-router

npm install vue-router@4.0.0-beta.13

二、第二步:main.js

先来对比一下vue2和vue3中main.js的区别:(第一张为vue2,第二张为vue3)

vue3使用vue-router的完整步骤记录vue3使用vue-router的完整步骤记录

可以明显看到,我们在vue2中常用到的Vue对象,在vue3中由于直接使用了createApp方法“消失”了,但实际上使用createApp方法创造出来的app就是一个Vue对象,在vue2中经常使用到的Vue.use(),在vue3中可以换成app.use()正常使用;在vue3的mian.js文件中,使用vue-router直接用app.use()方法把router调用了就可以了。

注:import 路由文件导出的路由名 from "对应路由文件相对路径",项目目录如下(vue2与vue3同):

vue3使用vue-router的完整步骤记录

三、路由文件

import { createRouter, createWebHashHistory } from "vue-router"

const routes = [
    {
        path: '/',
        component: () => import('@/pages')             
    },
    {
        path: '/test1',
        name: "test1",
        component: () => import('@/pages/test1')   
    },
    {
        path: '/test2',
        name: "test2",
        component: () => import('@/pages/test2')   
    },
]
export const router = createRouter({
  history: createWebHashHistory(),
  routes: routes
})

export default router

四、app.vue

<template>
  <router-view></router-view>
</template>

<script>

export default {
  name: 'App',
  components: {
  }
}
</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>

四、使用(比如跳转)

我们在需要使用路由的地方引入useRoute 和 useRouter (相当于vue2中的 $route 和 $router)

<script>
import { useRoute, useRouter } from 'vue-router'
export default {
  setup () {
    const route = useRoute()
    const router = useRouter()
    return {}
  },
}

例:页面跳转

<template>
  <h1>我是test1</h1>
  <button @click="toTest2">toTest2</button>
</template>
<script>
import { useRouter } from 'vue-router'
export default {
  setup () {
    const router = useRouter()
    const toTest2= (() => {
      router.push("./test2")
    })
    return {
      toTest2
    }
  },
}
</script>
<style  scoped>
</style>

总结

到此这篇关于vue3使用vue-router的文章就介绍到这了,更多相关vue3使用vue-router内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
springboot+vue实现文件上传下载
Nov 17 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
vue3不同环境下实现配置代理
May 25 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
一篇文章学会Vue中间件管道
Jun 20 #Vue.js
Vue过滤器(filter)实现及应用场景详解
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 #Vue.js
Vue中插槽slot的使用方法与应用场景详析
vue+elementui 实现新增和修改共用一个弹框的完整代码
解决vue $http的get和post请求跨域问题
You might like
PHP 源代码压缩小工具
2009/12/22 PHP
微信API接口大全
2015/04/15 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
laravel中Redis队列监听中断的分析
2020/09/14 PHP
extjs 为某个事件设置拦截器
2010/01/15 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
VUE中v-model和v-for指令详解
2017/06/23 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
Django的分页器实例(paginator)
2017/12/01 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
德语专业求职信
2014/03/12 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
工作证明格式范文
2015/06/15 职场文书
只用Python就可以制作的简单词云
2021/06/07 Python