广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue3如何使用Vue-Router进行路由控制
  • 184
分享到

Vue3如何使用Vue-Router进行路由控制

2024-04-02 19:04:59 184人浏览 泡泡鱼
摘要

目录1.安装Vue-router3.固定路由跳转4.动态路由跳转5. vue-router配置文件6.在代码中控制路由跳转1.安装Vue-router 传送门:官方文档 yarn a

1.安装Vue-router

传送门:官方文档

yarn add vue-router@4 --save

2.安装完成后还需要在main.js导入vue-router

	import { createApp } from 'vue'
	import App from './App.vue'
	import router from './router'
	import naive from 'naive-ui'
	createApp(App).use(router).use(naive).mount('#app')

3.固定路由跳转

使用场景跳转到Index页面或者Login页面

这种场景下的路由一般是固定的,不需要从data(){}或者setup函数

里面返回动态数据

<!-- 在vue3.x中,根元素可以不为一个,在template下可以有多个根节点
,所以<div id="app">不一定要按照官方示例去写 -->
<div id="app">
  <p>
    <!--使用 router-link 组件进行导航 -->
    <!--通过传递 `to` 来指定链接 -->
    <router-link to="/">Go to Home</router-link>
    <router-link to="/about">Go to About</router-link>
  </p>
  <!-- 当你点击 Go to Home这个超链接后,下面这个router-view
  元素会渲染路由“/”里面对应的组件,如果你想要把当前页面全部都变更渲染
  那么你的router-view应该在当前组件的父组件上声明。-->
  <router-view></router-view>
</div>

4.动态路由跳转

在项目多这种场景用到的比较多

定义想要跳转的路由,我定义为menus,至少应该拥有属性key和tokey是为了在说明渲染超链接时,超链接的文字内容to是为了定义你要跳转到哪个路由。

<script>
import { defineComponent } from "vue";
export default defineComponent({
  setup() {
    const menus = [
      { key: "首页", to: "Index" },
      { key: "商品清单", to: "ItemList" },
      { key: "提交历史", to: "History" },
    ];
    return {
      menus,
    };
  },
});
</script>

在模板中需要对数据做如下解析,这样最终在视图上才能正确渲染。

    <div id="app">
      <!-- 在这里我使用的NaviueUI,如果你用的elementUI道理差不多,
       可以忽略n-button这个标签,因为是UI框架提供的。 -->
      <n-button  
        color="#b5b7ba"
        text
        v-for="(item, index) in menus"
        :key="index"
        class="redTextWithoutUnderline"
      >
      <router-link :to="item.to">{{ item.key }} </router-link>
      </n-button>
    </div>

默认样式在跳转连接的文字下面字体是蓝色的,且带有下划线。可以使用一下样式进行覆盖。

<style>
    .redTextWithoutUnderline {
     text-decoration: none;//用于取消超链接下划线
     color:red; //用于设置超链接字体颜色
    }
</style>

2022年03月21日新增路由控制章节

5. vue-router配置文件

# 这里的coms是给src/components设置的路径别名,这个js文件的路径为
# 项目根目录router/index.js
import { createWEBHistory, createRouter } from "vue-router";
import Login from "coms/Login.vue";
import Home from "coms/Home.vue";
# 定义具体的路由
const routes = [{
    path: "/login",
    name: "login",
    component: Login,
}, {
    path: "/",
    name: "home",
    component: Home,
}];
# 关于history mode和 hash mode差异请看文末官方文档
const router = createRouter({
    history: createWebHistory(),
    routes: routes,
});
#路由守卫,实现未登录的用户他跳转到login页面
router.beforeEach((to, from, next) => {
    var uid = window.sessionStorage.getItem('uuid');
    if (to.name !== "login" && !!!uid) {
        next({ name: 'login' })
    } else {
        next()
    }
})
#暴露路由组件
export default router;

6.在代码中控制路由跳转

例如在登录成功后跳转到首页,这个逻辑应该如何实现呢?

<script>
//无需解释,引入vue-router组件
import { useRouter } from "vue-router";
 setup() {
   //获取router的引用
   const router = useRouter();
   function verifyUserName() {
      verifyUserNameapi(loginFORM)
        .then((res) => {
          if (res.code === 0) {
            console.log("登录成功")
          } else {
              console.log("登录失败")
            });
            //replace会清除router栈的历史记录
            //即无法点击返回按钮,这里指的是跳转到home组件
            //这里名称为home的组件可以不在当前脚本中import
            router.replace({ name: "home" });
          }
        })
        .catch((err) => console.log(err));
    }
    return {verifyUserName,}
}
</script>

参考连接:Vue-Router路由模式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Vue3如何使用Vue-Router进行路由控制

本文链接: https://www.lsjlt.com/news/152487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue3如何使用Vue-Router进行路由控制
    目录1.安装Vue-router3.固定路由跳转4.动态路由跳转5. vue-router配置文件6.在代码中控制路由跳转1.安装Vue-router 传送门:官方文档 yarn a...
    99+
    2022-11-13
  • Vue3 中路由Vue Router 的使用实例详解
    目录前言:一、什么是 Vue Router ?二、路由的使用1、路由的安装2、路由的模式3、创建路由模块4、声明路由链接和占位符三、路由的重定向和别名四、嵌套路由五、声明式和编程式导...
    99+
    2023-02-18
    Vue3 路由Vue Router使用 Vue Router使用
  • vue3使用vue-router及路由权限拦截方式
    目录使用vue-router及路由权限拦截vue3使用vue-router讲解使用vue-router及路由权限拦截 vue3 使用 vue-router 的方式和 vue2 基本一...
    99+
    2022-11-13
  • vue3怎么使用vue-router及路由权限拦截
    这篇文章主要讲解了“vue3怎么使用vue-router及路由权限拦截”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3怎么使用vue-router及路由权限拦截”吧!使用vue-rou...
    99+
    2023-06-30
  • vue3中router路由及vuex的store如何使用
    这篇“vue3中router路由及vuex的store如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中rou...
    99+
    2023-06-29
  • Vue.js中如何使用vue-router路由
    本篇文章为大家展示了Vue.js中如何使用vue-router路由,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。vue-router是Vue.js官方的路由插件,它...
    99+
    2022-10-19
  • vue-router如何实现路由懒加载和权限控制
    本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢...
    99+
    2023-07-04
  • Vue3使用vue-router如何实现路由跳转与参数获取
    目录vue-router实现路由跳转与参数获取路由跳转和传参路由跳转三种方法的总结一、第一种二、第二种三、第三种vue-router实现路由跳转与参数获取 路由跳转和传参 impor...
    99+
    2022-11-13
  • vue-router中如何使用嵌套路由
    vue-router中如何使用嵌套路由,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。模板抽离我们已经学习过了Vue模板的另外定义形式,使用...
    99+
    2022-10-19
  • vue3中如何使用router路由实现跳转传参
    这篇文章主要介绍了vue3中如何使用router路由实现跳转传参的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中如何使用router路由实现跳转传参文章都会有所收获,下面我们一起来看看吧。一、路由跳转首...
    99+
    2023-07-05
  • Vue3实战学习配置使用vue router路由步骤示例
    目录引言一、目录结构二、版本依赖三、配置路由四、使用路由引言 随着Vue版本的升级,Vue 2.x项目和Vue 3.x项目在使用vue-router上有些区别,本文就简单介绍下vue...
    99+
    2022-11-13
  • vue如何使用router-link实现路由跳转
    这篇文章主要介绍vue如何使用router-link实现路由跳转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!router-link 【实现跳转最简单的方法】<router-link to='...
    99+
    2023-06-18
  • Vue3中怎么使用vue-router实现路由跳转与参数获取
    今天小编给大家分享一下Vue3中怎么使用vue-router实现路由跳转与参数获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-29
  • vue如何实现路由权限控制
    这篇“vue如何实现路由权限控制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现路由权限控制”文章吧。在Vue中...
    99+
    2023-07-06
  • nodejs express路由匹配控制及Router模块化使用详解
    目录路由控制匹配Router模块化路由使用方式对比app上的路由总结路由控制匹配 本文主要分析下express的核心功能路由的使用。 express路由的匹配规则: 支持模糊匹配,同...
    99+
    2022-11-13
    nodejs express路由匹配Router nodejs express
  • vue如何进行路由跳转
    这篇文章主要介绍“vue如何进行路由跳转”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何进行路由跳转”文章能帮助大家解决问题。一、使用vue-routervue-router 本质是一个第三...
    99+
    2023-07-04
  • vue如何对路由进行拦截
    在vue中对路由进行拦截的方法:1.新建项目,引入vue和router;2.引入aixos;3.执行代码对路由进行拦截;具体步骤如下:首先,在新建一个html项目,并在项目中引入vue和router;import Vue from 'vue...
    99+
    2022-10-21
  • 如何使用vue路由
    小编给大家分享一下如何使用vue路由,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地...
    99+
    2023-06-28
  • 如何使用vue-router实现动态权限控制
    本篇内容介绍了“如何使用vue-router实现动态权限控制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用vue开发带权限管理系统,尤其...
    99+
    2023-07-04
  • 如何解决vue-router进行build无法正常显示路由页面的问题
    这篇文章主要为大家展示了“如何解决vue-router进行build无法正常显示路由页面的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决vue-ro...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作