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

Vue3中路由和路由配置方式的示例分析

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

Vue3中路由和路由配置方式的示例分析

这篇文章给大家分享的是有关Vue3中路由和路由配置方式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

路由的基本配置

安装插件

npm install vue-router@next --save

创建一个routers.ts文件

在routers.ts中引入组件并配置路径。

import { createRouter,createWebHashHistory } from 'vue-router';// 引入组件import Home from './components/Home.vue';import News from './components/News.vue';import User from './components/User.vue';const router = createRouter({  history: createWebHashHistory(),  routes: [    {path: '/', component: Home},    {path: '/news', component: News},    {path: '/user', component: User},  ]})export default router;

在main.ts中将路由文件挂载到vue身上。

import { createApp } from 'vue'import App from './App.vue'import routers from './routers';// createApp(App).mount('#app')const app = createApp(App);app.use(routers);app.mount('#app');

在用到路由的组件通过router-view组件或者router-link

<template>  <img alt="Vue logo" class="lazy" data-src="./assets/logo.png">  <ul>    <li>      <router-link to="/">首页</router-link>    </li>    <li>      <router-link to="/news">新闻</router-link>    </li>    <li>      <router-link to="/user">用户</router-link>    </li>  </ul>  <router-view></router-view></template>

挂载router-link后,只需要在组件对应的页面路径上输入指定路由即可完成跳转,router-link则实现a标签进行跳转的形式路由。

动态路由的配置

在routes.ts中按照下面的方式进行配置路由,通过/:aid的方式来进行动态路由的配置。

//配置路由const router = createRouter({    history: createWebHashHistory(),    routes: [        { path: '/', component: Home , alias: '/home' },        { path: '/news', component: News },        { path: '/user', component: User },        { path: '/newscontent/:aid', component: NewsContent },    ], })

通过router-link进行跳转的时候,需要模板字符串和冒号+to。

<ul>    <li v-for="(item, index) in list" :key="index">        <router-link  :to="`/newscontent/${index}`"> {{item}}</router-link>    </li></ul>

通过this.$route.params获取动态路由传过来的值。

mounted(){    // this.$route.params 获取动态路由的传值    console.log(this.$route.params)}

如果我们想要实现类似与GET传值,我们可以通过下面的方式

将路由配置为普通路由。

const router = createRouter({    history: createWebHashHistory(),    routes: [        { path: '/', component: Home , alias: '/home' },        { path: '/news', component: News },        { path: '/user', component: User },        { path: '/newscontent', component: NewsContent },    ], })

router-link通过问号的形式进行跳转。

<router-link  :to="`/newscontent?aid=${index}`"> {{item}}</router-link>

通过this.$route.query获取到get传值。

console.log(this.$route.query);

路由编程式导航(JS跳转路由)

只需要通过this.$router.push进行指定即可。

  this.$router.push({    path: '/home'  })

如果想要实现get传值,可以通过下列的方式。

this.$router.push({    path: '/home',    query: {aid: 14}  })}

动态路由需要使用下面的这种方式。

  this.$router.push({    path: '/home/123',    // query: {aid: 14}  })

路由模式

Hash模式

Hash模式的典型特点就是页面路由中含有一个井号。

const router = createRouter({    history: createWebHashHistory(),    routes: [        ...,    ], })

HTML5 history模式

  • 引入createWebHistory。

  • router的配置项中的history属性设置为createWebHistory()。

import { createRouter, createWebHistory } from 'vue-router'//配置路由const router = createRouter({    history: createWebHistory(),    routes: [        ...    ], })

注意:开启HTML5 History模式之后,发布到服务器需要配置伪静态。

配置伪静态的方法:

https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90

命名路由

一般情况

  • 定义路由的时候配置name属性

{ path: '/news', component: News,name:"news" }
  • 传入对象进行跳转

<router-link :to="{name: 'news'}">新闻</router-link>

通过GET传值的方式

  • 定义路由的时候配置name属性

{ path: '/newscontent', component: NewsContent, name: "content" },
  • 传入包括query的对象

<li v-for="(item, index) in list" :key="index">    <router-link  :to="{name: 'content',query: {aid: index}}"> {{item}}</router-link></li>

通过动态路由的方式

  • 定义动态路由并指定name属性

{ path: '/userinfo/:id', name: "userinfo", component: UserInfo }
  • 传入包括params的对象

<router-link :to="{name: 'userinfo',params: {id: 123}}">跳转到用户详情</router-link>

编程式路由

和上面的方式很类似。

<button @click="this.$router.push({name: 'userinfo',params: {id: 666}})">点击跳转</button>

路由重定向

{ path: '', redirect: "/home" },   // 路由重定向{ path: '/home', component: Home },

路由别名

下面的这个实例中,访问people这个路由和访问alias这个路由是一致的。

{ path: '/user', component: User, alias: '/people' }

alias也可以是一个数组。

{ path: '/user', component: User, alias: ['/people','/u']}

动态路由的形式。

{ path: '/userinfo/:id', name: "userinfo", component: UserInfo, alias: '/u/:id' }

嵌套路由

嵌套路由的应用场景一般在导航栏上。

  • 定义嵌套路由

{  path: '/user', component: User,  children: [    { path: '', redirect: "/user/userlist" },    { path: 'userlist', component: UserList },    { path: 'useradd', component: UserAdd }  ]}
  • router-link和router-view配合显示内容

<div class="left">  <ul>    <li>      <router-link to="/user/userlist">用户列表</router-link>    </li>    <li>      <router-link to="/user/useradd">增加用户</router-link>    </li>  </ul></div><div class="right">  <router-view></router-view></div>

感谢各位的阅读!关于“Vue3中路由和路由配置方式的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

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

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

Vue3中路由和路由配置方式的示例分析

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

下载Word文档

猜你喜欢

Vue3中路由和路由配置方式的示例分析

这篇文章给大家分享的是有关Vue3中路由和路由配置方式的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。路由的基本配置1、安装插件npm install vue-router@next --save2、创建
2023-06-22

Spring Cloud Zuul中路由配置的示例分析

这篇文章将为大家详细讲解有关Spring Cloud Zuul中路由配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先我们来回忆一下配置路由规则的那两行代码:zuul.routes.api-
2023-05-30

WPF中隧道路由和冒泡路由事件的示例分析

这篇文章主要介绍了WPF中隧道路由和冒泡路由事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  WPF中使用路由事件升级了传统应用开发中的事件,在WPF中使用路由
2023-06-14

Angular中Route路由的示例分析

这篇文章主要介绍Angular中Route路由的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular 路由(Route)我们可以将路由器理解成控制整个应用状态的视图对象, 每个应用都有一个路由器; 路
2023-06-14

laravel中api路由auth:api和api_token的示例分析

小编给大家分享一下laravel中api路由auth:api和api_token的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Laravel 是什么La
2023-06-14

RabbitMQ路由方式实例代码分析

这篇文章主要讲解了“RabbitMQ路由方式实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“RabbitMQ路由方式实例代码分析”吧!SpringBoot RabbitMQ 路由方
2023-06-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录