聊聊Vue3中路由,浅析路由配置方式
本篇文章带大家了解一下Vue3中路由,聊聊路由的基本配置、动态路由的配置、路由模式、路由重定向等,希望对大家有所帮助。
【相关推荐:《vue.js教程》】
路由的基本配置
1、安装插件
npm install vue-router@next --save
2、创建一个routers.ts文件
3、在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;
4、在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');
5、在用到路由的组件通过router-view组件或者router-link
<template> <img alt="Vue logo" 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传值,我们可以通过下面的方式
1、将路由配置为普通路由。
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/', component: Home , alias: '/home' }, { path: '/news', component: News }, { path: '/user', component: User }, { path: '/newscontent', component: NewsContent }, ], })
2、router-link通过问号的形式进行跳转。
<router-link :to="`/newscontent?aid=${index}`"> {{item}}</router-link>
3、通过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中路由,浅析路由配置方式的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在Slim框架中实现API路由的方法Slim是一款轻量级的PHP微型框架,它提供了一个简单而灵活的方式来构建Web应用程序。其中一个主要功能是实现API路由,使我们能够将不同的请求映射到相应的处理程序。本文将介绍如何在Slim框架中实现API路由,并提供一些代码示例。首先,我们需要安装Slim框架。可以通过Composer来安装最新版本的Slim。打开终端并

ApacheCamel是一个基于企业服务总线(ESB)的集成框架,它可以轻松地将不同的应用程序、服务和数据源集成在一起,从而实现复杂的业务流程自动化。ApacheCamel使用基于路由的配置方式,可以轻松地定义和管理集成流程。ApacheCamel的主要特点包括:灵活性:ApacheCamel可以轻松地与各种应用程序、服务和数据源集成。它支持多种协议,包括Http、JMS、SOAP、FTP等。高效性:ApacheCamel非常高效,它可以处理大量的消息。它使用异步消息传递机制,可以提高性能。可扩

ThinkPHP6是一款强大的PHP框架,拥有便捷的路由功能,可以轻松实现URL路由配置;同时,ThinkPHP6还支持多种路由模式,如GET、POST、PUT、DELETE等等。本文将介绍如何使用ThinkPHP6进行路由配置。一、ThinkPHP6路由模式GET方式:GET方式是用于获取数据的一种方式,常用于页面展示。在ThinkPHP6中,可以使用如下

如何在Vue项目中使用路由实现页面切换动画效果的定制?引言:在Vue项目中,路由是我们经常使用的功能之一。通过路由可以实现页面之间的切换,提供了良好的用户体验。而为了让页面切换更加生动,我们可以通过定制动画效果实现。本文将介绍如何在Vue项目中使用路由实现页面切换动画效果的定制。创建Vue项目首先,我们需要创建一个Vue项目。可以使用VueCLI来快速搭建

vue3的生命周期:1、beforeCreate;2、created;3、beforeMount;4、mounted;5、beforeUpdate;6、updated;7、beforeDestroy;8、destroyed;9、activated;10、deactivated;11、errorCaptured;12 、getDerivedStateFromProps 等等

PHP中灵活配置路由规则的实现方法和经验总结引言:在Web开发中,路由规则是非常重要的一部分,它决定了URL与具体的PHP脚本的对应关系。在传统的开发方式中,我们通常会在路由文件中配置各种URL规则,然后将URL与对应的脚本路径进行映射。但是,随着项目的复杂度增加和业务需求的变化,如果每个URL都需要手动配置,将会变得非常麻烦和不灵活。那么,在PHP中如何实

在现代Web应用程序中,实现网页导航和路由是十分重要的一环。利用JavaScript的函数来实现这个功能,可以使我们的Web应用程序更加灵活、可扩展和用户友好。本文将介绍如何使用JavaScript函数来实现网页导航和路由,并提供具体的代码示例。实现网页导航对于一个Web应用程序而言,网页导航是用户操作最频繁的一个部分。当用户点击页面上的

如何在Vue中使用路由实现页面跳转?随着前端开发技术的不断发展,Vue.js已经成为了目前最热门的前端框架之一。而在Vue开发中,实现页面跳转是必不可少的一部分。Vue提供了VueRouter来管理应用的路由,通过路由可以实现页面之间的无缝切换。本文将介绍如何在Vue中使用路由实现页面跳转,并附有代码示例。首先,在Vue项目中安装vue-router插件。
