当前位置: 首页 > news >正文

vue路由小案例

vue路由小案例

  • 案例需求
  • 案例实现
  • 小结

案例需求

  1. 创建二级路由,掌握嵌套路由
  2. 点击内容,根据不同id实现页面的跳转,掌握传参方式
  3. 利用routerlink标签封装的类,实现高亮
  4. 实现重定向,自动跳转到二级页面

案例实现

(一)路由配置

  1. 创建一级路由,用来显示导航栏以及详细信息
    创建数组,存放对象
    path:路由路径
    component:组件
const rou=[{path:'/'  ,component:HeA1,{path:'/det/:id?',component:HeA2}
]

2.创建二级路由,在一级路由后添加children,同样指明path以及component

    {path:'/',redirect:'/w1'  ,component:HeA1 ,children:[{path:"/w1",component:MoT1},{path:'/s1',component:MoT2}]},

3.添加路由
先导入createRouter、createWebHistory
再通过createRouter创建

const r=createRouter({history:createWebHistory(),routes:rou
})

如果配置在main.js不需要导出,其它地方需要导出

export default r

在main.js中,使用use()添加路由r

app.use(rou)

(二)创建页面
HeAl:通过RouterLink标签创建四个导航,RouteView标签,用来展示对应路径的组件

MoT1:模拟数据,通过v-for遍历数组,将数据在页面中展现

1.在app.vue页面中,创建RouteView标签,展示对应路径的组件
根据刚才的路由配置,此时显示的是组件HeA1的内容
并通过router-link-exact-active类设置字体颜色,实现点击变色

a.router-link-exact-active{color: brown;
}

在这里插入图片描述

2.通过重定向redirect,使得页面自动跳转到首页

    {path:'/',redirect:'/w1'  ,component:HeA1 ,children:[{path:"/w1",component:MoT1},{path:'/s1',component:MoT2}]},

在这里插入图片描述

(三)路径传参

1.给每个商品添加点击事件@click=“”,通过$router.push(``)来实现参数的传递

 @click="$router.push(`/det/${item.id}`)"

2.该路径传给的是HeA2组件,由于创建的动态路由,需要通过$route.params.id获取参数。创建computed计算属性,遍历存储的数据,若有该数据返回true,反之false。并通过v-if=“计算属性”,来展示页面。

在这里插入图片描述

3.添加返回标签,通过给botton添加$router.back(),使其能够返回页面

小结

(一)路由传参的方式及获取

  1. 查询参数:直接在路径后添加?key=123
$router.push('/u1?key=12')

获取:$route.query.key

  1. 动态传参:在路径后添加’/参数‘
    获取:$route.params.id

区别:动态获取参数的id是在配置路由时设置的(/u1/:id),参数查询的key是自己传参时命名的参数名

(二)route与router的区别
route主要用来接受参数,router用来路径的转变(back,push)

(三)RouterLink标签
该标签的本质是a标签,里面的router-link-exact-active以及router-link-active类可以设置该标签激活时的样式。其中router-link-active是模糊匹配。

相关文章:

  • Failed to resolve import “echarts“ from “src/views/HistoricalData.vue“.
  • 第 4 章:网络与总线——CAN / Ethernet / USB-OTG
  • 国产视频转换LT6211UX:HDMI2.0转LVDS/MIPI芯片简介,支持4K60Hz
  • File的使用
  • 聚焦开放智能,抢占技术高地 | 2025 高通边缘智能创新应用大赛第五场公开课来袭!
  • React表单开发的瑞士军刀:Formik与Yup实战指南
  • Android7 Input(八)App Input事件接收器InputEventReceiver
  • Visual Studio 2019/2022:当前不会命中断点,还没有为该文档加载任何符号。
  • IP风险画像技术:如何用20+维度数据构建网络安全护城河?
  • Web Scraping vs API:选择正确数据提取方法的终极指南(二)
  • WebSocket心跳机制
  • 深度解析Vue项目Webpack打包分包策略 从基础配置到高级优化,全面掌握性能优化核心技巧
  • hghac集群服务器时间同步(chrony同步)
  • IntentUri页面跳转
  • 高密度服务器机柜散热方案:高风压风机在复杂风道中的关键作用与选型要点
  • AI应用交付厂商F5打造六大解决方案,助用户应对复杂挑战
  • 【razor】回环结构导致的控制信令错位:例如发送端收到 SR的问题
  • 频率非周期性失稳
  • 10.17 LangChain v0.3核心机制解析:从工具调用到生产级优化的实战全指南
  • 鸿蒙开发进阶:深入解析ArkTS语言特性与高性能编程实践
  • 中方对美俄领导人就俄乌冲突进行通话有何评论?外交部回应
  • 不止是生态优势,“浙江绿谷”丽水有活力
  • 国家发改委:正在会同有关方面,加快构建统一规范、协同共享、科学高效的信用修复制度
  • 解读|俄方称愿与乌方共同起草和平备忘录,特朗普多轮通话外交有效吗?
  • 波兰总统选举第一轮投票结束,出口民调显示将进入第二轮投票
  • 东航C919航线上新!正式投入上海虹桥—深圳航线运营