问题背景: 我的项目是类似后台管理项目,本身已经有二级路由了,但是产品提出需求,要在某个菜单页中增加一个弹框,以侧滑屏形式出现,并且弹框中也要有路由的切换,于是我选择了用element来实现这个需求
问题:我在父组件的drawer中又增加了一层路由
在父组件中有个按钮,点击按钮,显示drawer并且跳到指定的路由
问题出现,本应该跳转到‘editCourse’组件,但是页面却没有跳转!而是去了我默认打开drawer的路由地址
查出问题:是因为drawer这个组件本身带有一个动画,在打开弹框并跳转路由的时候,drawer这个组件的dom可能还没有渲染完成,所以,没有跳转成功
解决办法:
1、在父组件点击按钮的时候,增加一个延迟,大概是0.3S(因为动画的时间是0.3S),延迟之后再进行路由跳转,
2、在父组件点击按钮的时候,给drawer组件的open回调事件赋值,在回调事件中,进行路由跳转!