(待做例子)问题描述: 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渲染机制/

posted on 2019-05-08 20:54  cag2050  阅读(389)  评论(0编辑  收藏  举报

导航