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

(Vue2)VueRouter

VueRouter 修改地址栏路径时,切换显示匹配的组件

使用5+2:

1下载版本3.6.5(Vue3对应版本4.X)

npm add vue-router@3.6.5

2引入

import VueRouter from 'vue-router'

3安装注册

Vue.use(VueRouter)

4创建路由对象

const router=new VueRouter()

5将路由对象注入到Vue实例中,建立关联

new Vue({render:h=>h(App),router
}).$mount('#app')

2个核心步骤:

1创建需要的组件(src下views目录下),配置路由规则 main.js

new VueRouter({routes:[{path:'/xxx',component:xx},{}]})

注:Find.vue报错因为find是一个单词,加name,  export default{name:"FindMusic"}

2配置导航,配置路由出口,路径匹配的组件显示的位置

<router-view></router-view>

组件存放目录问题

页面组件 src/views文件夹

复用组件 src/components文件夹

路由的封装抽离

将main.js中路由模块抽离出来。src/router/index.js    @直接指代src,便于写绝对路径

引入三个子网页、Vue、VueRouter

App.vue  router-link标签取代a标签,to取代href,默认提供高亮类名  本质还是a标签

声明式导航(router-link)-两个类名

router-link-active模糊匹配(用得多)to="/my"可匹配/my、/my/a、/my/b

router-link-exact-active精确匹配  to="/my"仅可匹配/my

VueRouter里面linkActiveClass:'xxx',linkEXactiveActiveClass:'xxx'   直接敲link

声明式导航(router-link)-跳转传参

查询参数传参   to="/path?参数名=值"   

对应页面组件接收传递过来的值{{$route.query.参数名 }}

动态路由传参

1配置动态路由path:'/searsh/:words?'(?为可选符,按需加)

2配置导航链接to="/path/参数值"

3对应页面组件接收传递过来的值{{$route.params.参数名 }}

重定向  匹配某一路径后,强制跳转

new VueRouter({routes:[{path:'/',redirect:'/xxx'},{}]})

404   当路径找不到匹配时,给个提升页面   配在路由最后

new VueRouter({routes:[.......{path:'*',component:NotFind},{}]})

模式设置

hash路由(默认).../#/...(#很奇怪)  mode:"hash"

history路由(常用)  new VueRouter({routes,mode:"history"})

编程式导航-基本跳转

点击按钮跳转页面:编程式导航:用js代码来进行跳转

1path路径跳转  绑定的事件函数内this.$router.push('path')

2name命名路由跳转(路径较长时用此写法方便)  new VueRouter({routes:[{name:'xxx',path:'/',redirect:'/xxx'},{}]})

绑定的事件函数内this.$router.push({name:'xxx'})

 编程式导航-路由传参 跳转需要传参

1path路径跳转传参

this.$router.push('/path?key=${{this.inpValue}}&......')  双向绑定的数据传入

this.$router.push({path:'/path',query:{key=this.inpValue}
}) 

动态路由传参 

this.$router.push('/path/参数名')
this.$router.push({path:'/path/参数名'
})

完整写法(更适合传参)

​this.$route.push({name:'xxx',query:{参数名:'参数值'},params:{参数名:'参数值'}
})
http://www.lryc.cn/news/171809.html

相关文章:

  • 6.文本注释方法
  • [Linux打怪升级之路]-缓冲区
  • 【力扣】13. 罗马数字转整数
  • 高效时间管理,事无巨细掌握——OmniFocus Pro 3 for Mac最强GTD工具
  • 解锁前端Vue3宝藏级资料 第五章 Vue 组件应用 3( Slots )
  • 接口测试之文件上传
  • 7.Flask-Migrate数据库迁移
  • 信创办公–基于WPS的PPT最佳实践系列 (项目8创建电子相册)
  • JRedis的基本操作,基本数据类型操作
  • QT网页 webengine / CEF
  • Golang笔试题:编写一个函数,接收一个整数参数n,输出n的阶乘结果
  • 外包干了2个月,技术退步明显.......
  • 无涯教程-JavaScript - BINOM.DIST函数
  • linux定时重启tomcat
  • 在静态方法中访问@Value注入的静态变量!!
  • 掌握这些算法,让你的编程之路更顺畅——重要算法解析
  • flink集群与资源@k8s源码分析-总述
  • LeetCode 0213. 打家劫舍 II:动动态规划
  • VMware17 不可恢复错误mks解决方案
  • 【深度学习】 Python 和 NumPy 系列教程(廿五):Matplotlib详解:3、多子图和布局:subplot()函数
  • 计算机网络知识补充(1)
  • C# Onnx Yolov8 Pose 姿态识别
  • 7.algorithm2e中while怎么使用
  • Flask狼书笔记 | 08_个人博客(下)
  • 机器学习第十课--提升树
  • react scss.modules中使用iconfont
  • 使用Jmeter+ant进行接口自动化测试(数据驱动)
  • 可视化图表组件之股票数据分析应用
  • STM32 ~ GPIO不同模式之间的区别与实现原理
  • dvwa靶场通关(十二)