Vue路由基础

本文介绍了Vue Router的基础知识,包括动态路由配置,如/user/:username,嵌套路由的实现,编程式路由的使用,如$router.push(),以及命名路由和命名参数的应用。通过实例展示了如何在不同场景下设置和使用路由,帮助理解Vue应用中的页面导航。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

路由基础介绍 vue-router

动态路由配置

模式匹配路径$route.params.*
/user/:username/user/evan{username: ‘evan’}
/user/:username/post/:postID/user/evan/post/123{username: ‘evan’, postID: 123}
模式访问
historyhttp://localhost:8080/goods/dagf89
hashhttp://localhost:8080/#/goods/dagf89

在这里插入图片描述

  • /user/:username的使用举例
    为方便管理,使用的.vue文件统一新建在src->views下
    第一:在views下新建一个GoodsList.vue
    在这里插入图片描述
    第二:去router下的index.js
    在这里插入图片描述
    第三步:访问http://localhost:8080/#/goods/dagf89,结果
    在这里插入图片描述


模式 \quad \quad \quad 访问
history \quad \quad    \; http://localhost:8080/goods/dagf89
hash \quad \quad \quad http://localhost:8080/#/goods/dagf89
在这里插入图片描述

嵌套路由

第一步:在views下新建两个.vue文件:Title.vue、Image.vue
在这里插入图片描述
第二:router-link中要写绝对路径
在这里插入图片描述
第三:修改index.js
在这里插入图片描述
结果:点击“显示子组件1”
router-link变成了一个a标签
在这里插入图片描述

编程式路由

通过js来实现页面的跳转

  • $router.push(“name”)
  • $router.push({path:“name”})
  • $router.push({path:“name?a=123”})或者$router.push({path:“name”,query:{a:123}})
  • $router.go(1)
    两种方法都可以实现跳转
    第一步:在views下新建Cart.vue
    在这里插入图片描述
    第二步:修改index.js
    在这里插入图片描述
    第三步:红色的是普通跳转,绿色的是编程式路由$router.push(“name”)
    在这里插入图片描述
    结果:两个效果一样
    在这里插入图片描述
    点击后:
    在这里插入图片描述
    其他:
  • 第三步中,除了this.$router.push('/cart');
    还可以写成this.$router.push({path:'/cart'});
  • 第三步中,除了<router-link to="/cart">跳转到购物车页面</router-link>
    还可以写成<router-link v-bind:to="{name:'cart'}">跳转到购物车页面</router-link>
  • 传递参数 this.$router.push({path:'/cart?goodsID=123'});
    在这里插入图片描述
    在Cart.vue里接收参数
    在这里插入图片描述
    这里接收参数和动态路由($route.params.goodsID)里接收不同,动态路由里需要改地方在index.js,可以回顾前面的动态路由

命名路由和命名参数

给路由定义不同的名字,根据名字进行匹配
给不同的router-view定义名字,通过名字进行对应组件的渲染

  • 动态路由的命名命名路由和命名参数
    第一步:修改GoodsList.vue
    这里的params指的是路由参数
    在这里插入图片描述
    第二步:修改index.js
    在这里插入图片描述
    结果:
    在这里插入图片描述
  • 命名视图
    第一步:修改src文件下的App.vue
    在这里插入图片描述
    第二步:修改index.js
    在这里插入图片描述
    结果:这样页面就被分为三个视图
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值