(待做例子)问题描述: el-tab 下有2个路由,其中第1个路由设置了 beforeRouteLeave,点击 el-tab 第2个tab时,样式直接跟过去了(预期结果是:样式不到第二个tab上,beforeRouteLeave允许跳转后才到第二个tab上)
解决:
经过以上分析,强制赋值应该在前次赋值而且DOM已经刷新完毕之后进行。可以使用$nextTick,以下是代码:
handleTabClick (tab) {
let name = this.filter1.tab
this.$router.push({name})
if (tab.name == 'second') {
this.$nextTick(() => {
this.filter1.tab = 'first'
})
}
},
出处:https://lastvigo.github.io/2019/02/25/由el-tabs使用谈Vue渲染机制/