实现监听vuex里面某个数据的状态

450 阅读1分钟
  • 小程序的tabBar跳转进另一个页面再返回时不能重新页面请求数据
//收藏页面 因为我这里是用watch监听setIslike 只有值改变的时候才能触发重新请求数据 所以每次进来都要把值改为false
onLoad() {
   	this.$store.commit('setIslike',false)
   	},//在onload里面给vux里面的值为false,setIslike是vuex里面定义的一个方法
//同一页面在收藏成功后改变setIslike方法里面的值为true
like(){
收藏成功接口返回操作、、、
 this.$store.commit('setIslike',true)
}

在显示收藏个数页面监听setIslike里的值是否改变 改变就调用方法重新请求接口获取最新收藏数
watch:{
    '$store.state.is_like':function(){
       if(this.$store.state.is_like==true){
   		this.getlike()
   	}		
   	console.log('监听',this.$store.state.is_like)
   	 }
   	},
       
 vuex文件里定义setIslike方法和is_like值
 state: { 
 is_like:false,
 }
 mutations: { 
 setIslike(that,info){
   		that.is_like = info
   	}
 }