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 相关文章推荐
vue-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
vue+element UI实现树形表格
Dec 29 Vue.js
Vue 修改网站图标的方法
Dec 31 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
Vue实现多页签组件
Jan 14 Vue.js
详解实现vue的数据响应式原理
Jan 20 Vue.js
开发一个封装iframe的vue组件
Mar 29 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
vue如何使用模拟的json数据查看效果
Mar 31 Vue.js
详解Vue3使用axios的配置教程
Apr 29 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
url decode problem 解决方法
2011/12/26 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
2014/11/20 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
mvc 、bootstrap 结合分布式图简单实现分页
2016/10/10 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
python自带的http模块详解
2016/11/06 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
财务主管自我鉴定
2014/01/17 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
初中学生期末评语
2014/04/24 职场文书
详解python的内存分配机制
2021/05/10 Python
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
搞笑Gif:这么白这么长的腿像极了一楼的女朋友
2022/03/21 杂记
Go语言入门exec的基本使用
2022/05/20 Golang