首页 > 编程语言 >Vue Router系列之(九)编程式路由导航

Vue Router系列之(九)编程式路由导航

时间:2024-02-29 20:01:36浏览次数:30  
标签:Vue title router replace 跳转 push Router 路由

编程式路由导航

  1. 作用:不借助<router-link> 实现路由跳转,让路由跳转更加灵活。

  2. 为什么需要除了<router-link>标签之外实现路由跳转的方式?

    <router-link>标签最后变为<a>标签,无法实现button按钮的跳转

    触发路由跳转可能需要异步触发,<router-link>标签也无法实现

  3. 具体编码:

    //$router的两个API
    // vc.$router:VueRouter的实例
    // console.log(this.$router)
    
    // push()方法和replace()方法是在VueRouter的原型对象身上的,顺着this.$router的_proto_就能找到
    // 完成路由跳转,并且是对历史记录的push操作
    // 与<router-link>标签中to属性的配置项内容完全相同
    // this.$router.push({...})相当于如下代码,完成的功能也是一样的,展示指定组件(路由跳转)并传递参数
    // <router-link :to="{
    // 			  name: 'detail',
    // 			  params: {
    // 				  id: m.id,
    // 				  title: m.title
    // 			  }
    // }">
    // 			{{m.title}}
    // </router-link>
    this.$router.push({
    	name: 'detail',
    	params: {
    		  id: m.id,
    		  title: m.title
    	}
    })
    
    // this.$router.replace({...})相当于如下代码,完成的功能也是一样的,展示指定组件(路由跳转)并传递参数
    // <router-link replace :to="{
    // 			  name: 'detail',
    // 			  params: {
    // 				  id: m.id,
    // 				  title: m.title
    // 			  }
    // }">
    // 			{{m.title}}
    // </router-link>
    this.$router.replace({
    	name: 'detail',
    	params: {
    		  id: m.id,
    		  title: m.title
    	}
    })
    
    // 借助路由器实现历史记录中的前进操作
    this.$router.forward() //前进
    
    // 借助路由器实现历史记录中的后退操作
    this.$router.back() //后退
    
    this.$router.go() //可前进也可后退
    // 相当于连点3次前进
    this.$router.go(3)
    
    // 相当于连点4次后退
    this.$router.go(-4)
    

注:借助路由器【$router】可以实现历史记录的所有操作(前进、后退、push、replace)

标签:Vue,title,router,replace,跳转,push,Router,路由
From: https://www.cnblogs.com/wzzzj/p/18040063

相关文章

  • Vue Router系列之(十二)路由守卫
    路由守卫作用:对路由进行权限控制,满足一定条件才能看到跳转到的路由组件分类:全局守卫、独享守卫、组件内守卫全局守卫://src/router/index.js//router:我们创建的路由器实例//router.beforeEach(function):每一次进行路由跳转之前都会帮我们调用我们传入的函数//全......
  • Vue CLI 系列之(十)webStorage
    webStorage【浏览器本地存储】localStorage和sessionStorage统称为webStorage1.localStorage未登录账号的情况下进行了商品搜索,搜索历史中保存了之前的搜索记录借助浏览器的本地存储可以将数据存到硬盘上,用于缓存数据通过浏览器如何查看浏览器本地存储​ 每个网站都有自己......
  • Vue CLI 系列之(十四)$nextTick
    $nextTick$nextTick这也是一个生命周期​ 如果要实现一个input框点击后进行一些数据修改的操作【这里是指能够引起Vue重新解析模板的数据修改操作,比如修改data中的数据】,然后让该input框获取焦点,该怎么做?//Item组件中有一个input输入框和一个编辑按钮,实现点击按钮后input框显......
  • Vue CLI 系列之(十三)消息订阅与发布
    消息订阅与发布【pubsub】1.理解消息订阅与发布2.原理图​ 通过报纸的订阅与发布来理解就是:A去C那订阅了报纸demo,并说明了自己的住址test,由于test是定义在A中的,而A又把test的引用提供出来了,这样C只要一调用test,自动就来到了A这,也就找到了A住的地儿,C发布test报纸时携带的内......
  • Vue CLI 系列之(十二)全局事件总线
    全局事件总线【GlobalEventBus】......
  • Vue CLI 系列之(十一)组件自定义事件
    组件自定义事件区别于js内置事件,内置事件是给html元素用的,而自定义事件是给组件用的1.给组件实例对象绑定自定义事件给组件绑定自定义事件v-on:自定义事件名="回调函数"比如:<Studentv-on:atguigu="demo"/>上面代码的含义为:由于v-on是在Student这个组件标签上,所以是给stu......
  • Vue CLI 系列之(十五)过渡与动画
    过渡与动画Vue封装的过渡与动画1.前置知识CSS3动画【2D转换、3D转换、过渡、动画】参考网站:https://www.runoob.com/css3/css3-animations.html<h1v-show="isShow"id="title">显示了</h1><style> h1{ /*通过animation把"donghua"动画捆绑到h1元素,时长:1......
  • Vue 2x 系列之(十五)过滤器
    过滤器BootCDN:包含了一些免费、优秀的第三方类库官网:https://www.bootcdn.cn/moment.js:js的日期处理类库dayjs:moment.js的轻量化解决方案,API同moment.js完全一致引入dayjs,全局就多了一个dayjs()函数,dayjs()函数默认解析当前时间的时间戳,也可传入时间戳进行解析注:过滤器相对......
  • Vue 2x 系列之(十七)自定义指令
    自定义指令从某种程度上来说,Vue中的自定义指令就是把原生DOM操作进行了一次封装指令是不能脱离元素【标签】存在的定义指令:big使用指令:v-big值的写法:对象【可以处理一些细节上的问题】和函数定义指令可以通过两种方式,函数式和对象式1.函数式指令名(真实DOM元素[element],......
  • Vue 2x 系列之(十六)内置指令
    内置指令我们学过的指令: v-bind :单向绑定解析表达式,可简写为:xxx v-model :双向数据绑定 v-for :遍历数组/对象/字符串 v-on :绑定事件监听,可简写为@ v-if :条件渲染(动态控制节点是否存存在) v-else :条件渲染(动态控制节点是否存存在) v-show :......