我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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是给class="lazy" data-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路由模式

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

Vue3 中路由Vue Router 的使用实例详解

vue-router是vue.js官方给出的路由解决方案,能够轻松的管理SPA项目中组件的切换,这篇文章主要介绍了Vue3 中路由Vue Router 的使用,需要的朋友可以参考下
2023-02-18

vue3中router路由及vuex的store如何使用

这篇“vue3中router路由及vuex的store如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中rou
2023-06-29

vue-router如何实现路由懒加载和权限控制

本篇内容主要讲解“vue-router如何实现路由懒加载和权限控制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue-router如何实现路由懒加载和权限控制”吧!1、为什么要使用路由懒加载呢
2023-07-04

vue3怎么使用vue-router及路由权限拦截

这篇文章主要讲解了“vue3怎么使用vue-router及路由权限拦截”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue3怎么使用vue-router及路由权限拦截”吧!使用vue-rou
2023-06-30

vue3中如何使用router路由实现跳转传参

这篇文章主要介绍了vue3中如何使用router路由实现跳转传参的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3中如何使用router路由实现跳转传参文章都会有所收获,下面我们一起来看看吧。一、路由跳转1
2023-07-05

vue如何使用router-link实现路由跳转

这篇文章主要介绍vue如何使用router-link实现路由跳转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!router-link 【实现跳转最简单的方法】
2023-06-18

vue如何进行路由跳转

这篇文章主要介绍“vue如何进行路由跳转”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何进行路由跳转”文章能帮助大家解决问题。一、使用vue-routervue-router 本质是一个第三
2023-07-04

vue如何实现路由权限控制

这篇“vue如何实现路由权限控制”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现路由权限控制”文章吧。在Vue中
2023-07-06

Vue3中怎么使用vue-router实现路由跳转与参数获取

今天小编给大家分享一下Vue3中怎么使用vue-router实现路由跳转与参数获取的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下
2023-06-29

如何使用vue路由

小编给大家分享一下如何使用vue路由,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概念路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地
2023-06-28

nodejs express路由匹配控制及Router模块化使用详解

这篇文章主要为大家介绍了nodejs express路由匹配控制及Router模块化使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

如何使用vue-router实现动态权限控制

本篇内容介绍了“如何使用vue-router实现动态权限控制”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用vue开发带权限管理系统,尤其
2023-07-04

编程热搜

目录