鍍金池/ 問(wèn)答/HTML/ vue SPA單頁(yè)面應(yīng)用,在vuex保存的state值,更新之后,在相應(yīng)組件中引

vue SPA單頁(yè)面應(yīng)用,在vuex保存的state值,更新之后,在相應(yīng)組件中引用的這個(gè)state值并沒(méi)有watch到?

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){
            //第一次刷新頁(yè)面然后設(shè)置menu_active_name可是這里根本沒(méi)有監(jiān)聽(tīng)到,但是第二次及之后都能監(jiān)聽(tīng)到,這是為什么?
                this.activeName = newVal;
            }
        },
回答
編輯回答
別硬撐

watch 應(yīng)該是在變量改變的時(shí)候觸發(fā)吧 第一次mounted以后 變量還沒(méi)有改變呢吧 你試試 beforeCreate或者beforeMount 方法中處理一下這個(gè)變量

2018年4月28日 17:47
編輯回答
掛念你

可能是初次setmenu_active_name的時(shí)候,watch menu_active_name所在組件還未創(chuàng)建或渲染

2017年12月5日 17:32