写vue的一个项目时,登录页面没有底栏,浏览页面有底栏,登录完成后使用router.back()返回,结果底栏飘起了来,怎么都下不来,强制刷新才正常。找了一圈,最好的解决方法就是在组件里加一个
:key=“变量”
有了这个之后,一旦这个key的值改变了,vue就会对虚拟DOM重新加载
代码如下:
<van-tabbar v-model="active" route :key="$route.path">
<van-tabbar-item to="/" icon="home-o">首页</van-tabbar-item>
<van-tabbar-item to="/qa" icon="comment-o">问答</van-tabbar-item>
<van-tabbar-item to="/video" icon="video-o">视频</van-tabbar-item>
<van-tabbar-item to="/my" icon="manager-o">我的</van-tabbar-item>
</van-tabbar>
<!-- /底部导航栏 -->