当前位置: 首页 > 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是模糊匹配。

http://www.xdnf.cn/news/551899.html

相关文章:

  • 2020年中国地级与省级高标准农田分布数据
  • C++初阶-迭代器失效和vector::insert函数的最终实现
  • upload-labs靶场通关详解:第12-13关
  • Nextjs App Router 开发指南
  • Vue百日学习计划Day46-48天详细计划-Gemini版
  • PL/SQL 安装配置与使用
  • 《Python数学与科学计算完全指南:从基础运算到高级加密,解锁数据处理的核心技能!》
  • 手握消防设施操作员证,职业之路更宽广
  • C++ Pimpl(Pointer to Implementation)设计思想
  • AI 商业化部署中,ollama 和 vllm 的选型对比
  • 二叉树遍历--(前 中 后 层序)
  • 【lvgl9】使用keyboard和textarea实现密码数字输入界面
  • Git 克隆子分支
  • 本地ip如何映射到外网?借助端口映射软件把内网地址给别人用
  • Jetson Agx Orin平台JP5.1.4-R35.6.0版本VI recover导致内核崩溃问题(有官方patch)
  • uni-app项目从0-1基础架构搭建全流程
  • Nextcloud与Google就安卓文件访问权限展开博弈
  • 从代码学习深度学习 - 预训练word2vec PyTorch版
  • NebulaGraph学习笔记-SessionPool之Session not existed
  • 五、central cache的设计
  • 多环境回测模拟不同市场条件下的策略表现
  • CSS专题之常见布局
  • 设备全生命周期管理:从采购到报废的数字化闭环方案
  • Varlet UI-Material Design风格Vue 3框架移动端组件库
  • SUI批量转账几种方法介绍
  • 构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践
  • 人工智能+:职业价值的重构与技能升级
  • LSM Tree算法原理
  • [特殊字符]车牌识别相机,到底用在哪?
  • 芯片分享之AD976性能介绍