[web教学] 前端Vue入门-day06-路由进阶

[复制链接]
查看670 | 回复0 | 2023-8-17 09:45:42 | 显示全部楼层 |阅读模式 来自 荷兰
(创作不易,感谢有你,你的支持,就是我前行的最大动力,假如看完对你有资助,请留下您的足迹)

目录
路由的封装抽离
声明式导航
导航链接 
两个类名 
自定义高亮类名 
跳转传参
1. 查询参数传参
2. 动态路由传参
两种传参方式的区别 
Vue路由 
重定向
404
编程式导航
基本跳转
路由传参 
① path 路径跳转传参 
② name 定名路由跳转传参 


 
路由的封装抽离


      题目:所有的路由设置都堆在main.js中合适么?        目标:将路由模块抽离出来。 长处:   拆分模块,利于维护          
  绝对路径:@指代src目录,可以用于快速引入组件
  1. import Find from '@/views/Find'
  2. import My from '@/views/My'
  3. import Friend from '@/views/Friend'
  4. import Vue from 'vue'
  5. import VueRouter from 'vue-router'
  6. Vue.use(VueRouter) // VueRouter插件初始化
  7. // 创建了一个路由对象
  8. const router = new VueRouter({
  9.   // routes 路由规则们
  10.   // route  一条路由规则 { path: 路径, component: 组件 }
  11.   routes: [
  12.     { path: '/find', component: Find },
  13.     { path: '/my', component: My },
  14.     { path: '/friend', component: Friend },
  15.   ]
  16. })
  17. export default router
复制代码
声明式导航

导航链接 


      需求:实现导航高亮效果         vue-router 提供了一个全局组件 router-link (取代 a 标签)        ① 能跳转   ,设置 to 属性指定路径(   必须   ) 。   本质照旧 a 标签 ,   to 无需 #        ② 能高亮,   默认就会提供   高亮类名   ,可以直接设置高亮样式           两个类名 

      分析:我们发现 router-link 自动给当前导航添加了    两个高亮类名          ① router-link-active    暗昧匹配 (用的多)                to="/my" 可以匹配 /my /my/a /my/b ....        ② router-link-exact-active    精确匹配                to="/my" 仅可以匹配 /my    自定义高亮类名 

   分析:router-link 的 两个高亮类名 太长了,我们希望能定制怎么办?  
  
  跳转传参

      目标:在跳转路由时, 举行传值        1. 查询参数传参        2. 动态路由传参    1. 查询参数传参

      ① 语法格式如下                to="/path   ?参数名=值   "        ② 对应页面组件吸收通报过来的值                $route.   query.参数名   
  1. <router-link to="/search?key=小周不摆烂">小周不摆烂</router-link>
复制代码
  1. <script>
  2. export default {
  3.   name: 'MyFriend',
  4.   created () {
  5.     // 在created中,获取路由参数
  6.     // this.$route.query.参数名 获取
  7.     console.log(this.$route.query.key);
  8.   }
  9. }
  10. </script>
复制代码
2. 动态路由传参

      ① 设置动态路由              ② 设置导航链接                to="/path   /参数值   "        ③ 对应页面组件吸收通报过来的值                $route.   params.参数名    两种传参方式的区别 

      1. 查询参数传参 (比力恰当传   多个参数   )                ① 跳转:to="/path   ?参数名=值&参数名2=值   "                ② 获取:$route.query.参数名        2. 动态路由传参 (   优雅简便   ,传单个参数比力方便)                ① 设置动态路由:path: "/path/参数名"                ② 跳转:to="/path   /参数值   "                ③ 获取:$route.params.参数名    Vue路由 

重定向


      题目:   网页打开, url 默认是 / 路径,未匹配到组件时,会出现空缺        分析:   重定向 → 匹配path后, 逼迫跳转path路径        语法:    { path: 匹配路径, redirect: 重定向到的路径 },      
  1. // 创建了一个路由对象
  2. const router = new VueRouter({
  3.   routes: [
  4.     { path: '/', redirect: '/home' },
  5.     { path: '/home', component: Home },
  6.     { path: '/search/:words?', component: Search }
  7.   ]
  8. })
复制代码
404


      作用:   当路径找不到匹配时,给个提示页面        位置:   配在路由末了        语法:path: "*" (恣意路径) – 前面不匹配就掷中末了这个        
  编程式导航

基本跳转


      题目:点击按钮跳转怎样实现?        编程式导航:用JS代码来举行跳转        两种语法:                ① path 路径跳转   (浅易方便)                  ② name 定名路由跳转          
  路由传参 

      两种传参方式:查询参数 + 动态路由传参        两种跳转方式,对于两种传参方式都支持:        ① path 路径跳转传参        ② name 定名路由跳转传参    ① path 路径跳转传参 

      query传参           动态路由传参
   
  ② name 定名路由跳转传参 

    query传参
  
   动态路由传参
  

来源:https://blog.csdn.net/weixin_73295475/article/details/132036928
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则