vue中一级路由跳转另一一级路由


vue中一级路由跳转另一一级路由

任务阐述

直接使用this.$router.replace或者 this.$router.push方法进行路由跳转的话会出现url改变了但是页面内容没有进行相应的渲染。

简单来看就是一个使用this.$router 进行路由跳转的功能。但是通常开发的时候,除了最外层的router外,每个模块内还可能会有一个模块的router。

在模块内的router下添加路径

比如我们在transfer模块下要实现点击跳转到search路由,需要在transfer-router.js文件中引用search模块(也就是search的一级页面)

二级目录下的router

然后使用this.$router.replace或者 this.$router.push进行页面跳转:

二级router跳转

在最外层的router下添加路径

上面的这个方法会造成跨模块。有时候跨模块会导致维护不方便、牵一发而动全身,bug找不到出处的问题。所以如果不是transfer的子路由的话,比较推荐在最外层的router下改变路由。

我们直接在transfer的模块下引用最外层的router:

import Router from '../router/index.js'

然后直接对Router进行replace或者push操作:

Router.replace('/search')

就是介么简单

TIPS

无论是最外层的router还是模块下的router,我们采用的操作router的方式都是引用vue-router然后新建一个vue-router对象。

在模块下开发的时候,默认的使用的vue-router对象是模块下的vue-router而不是最外层的vue-router,所以this.$router指的是自己模块的router而不是最外层的router,导致this.$router.replace(’/search’)只实现了url的变化而没有实现页面的渲染。

想要改变一级路由,最好的就是直接引用最外层router,然后进行push , replace操作


文章作者: Silong Xu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Silong Xu !
 上一篇
11月29散记 11月29散记
11月29散记 PQ第一次用亿通行 PQ上一次坐地铁是在大一 PQ呆呆的好可爱 小本本记下来:以后不能让PQ吃苦 北语不是211 是个特殊的学校 PQ朋友去雍和宫求了个考试的签 下周末我也去帮她求一个 路上看到有花 PQ是喜欢花的 但是这样
2020-12-05
下一篇 
VUE实现元素高度根据屏幕高度动态改变/overflow踩坑 VUE实现元素高度根据屏幕高度动态改变/overflow踩坑
VUE实现元素高度根据屏幕高度动态改变/overflow踩坑 overflow踩坑 通常我们会在需要实现滚动条的时候添加overflow这个属性。必须要给赋予overflow的元素一个固定的height或者width才能实现对应方向上的滚动
2020-11-28
  目录