大佬们遇到过这个问题吗?vue 中 this.$nextTick() 不生效的问题

问题描述
this.$nextTick()是在数据完成更新后立即获取数据,但是我使用nextTick没有生效,获取的数据还是更新前的。
相关代码
首页
会员
订单
查找
components:{},
data(){
return{
selected:"home"
};
},
methods:{
changeHash(){
console.log('之前',this.selected);
//在数据完成更新后发生的行为
this.$nextTick(function(){
console.log('之后',this.selected);
});
}
},
watch:{
//selected(newVal){
//this.$router.push({
//name:newVal
//});
//}
}
你期待的结果是什么?实际看到的错误信息又是什么?
我想看到当点击不同的tab前后数据会发生变化,而不是下面这种情况。之前home之后home之前member之后member之前shopcart之后shopcart
神不在的星期二
浏览 845回答 2
2回答

白衣非少年

用setTimeout就可以了setTimeout(function(){console.log('之后',this.selected);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript