state:{
menu_active_name:1,
}
mutations:{
setmenu_active_name(state,id){
state.menu_active_name = id;
}
}
computed:{
...mapState([
'menu_active_name'
])
},
watch:{
menu_active_name(newVal,oldVal){
//第一次刷新页面然后设置menu_active_name可是这里根本没有监听到,但是第二次及之后都能监听到,这是为什么?
this.activeName = newVal;
}
},
watch 应该是在变量改变的时候触发吧 第一次mounted以后 变量还没有改变呢吧 你试试 beforeCreate或者beforeMount 方法中处理一下这个变量
补充一下答案吧,watch不到是因为,在B组件中已经改变了state,A组件已经被销毁,当跳转到A组件,A组件重建,这时候computed的state已经是最新的了,所以watch是不起作用的。