鍍金池/ 問(wèn)答/HTML/ Vuex中的state更新了,那么使用這個(gè)狀態(tài)的組件的data的數(shù)據(jù)會(huì)即時(shí)跟新嗎

Vuex中的state更新了,那么使用這個(gè)狀態(tài)的組件的data的數(shù)據(jù)會(huì)即時(shí)跟新嗎?

Vuex中的state更新了,那么使用這個(gè)狀態(tài)的組件的data的數(shù)據(jù)會(huì)即時(shí)跟新嗎?

代碼是:

store.js中:

state: {
  ...

  user_info: LocalStorageUtil.get('user_info')
  },

  mutations: {
    set_user_info_null(state){
      state.user_info = null
    }
  }

組件中:

data(){
  return {
    user_info: this.$store.state.user_info,
    ...

  }

methods: {
  ...

  ... // in the logout method
  LocalStorageUtil.clear('user_info')
  this.$store.commit('set_user_info_null')  // store set to null

當(dāng)觸發(fā)logout方法的時(shí)候:

Vuex的數(shù)據(jù)是清空的:

圖片描述

可是組件中的數(shù)據(jù)沒(méi)有即時(shí)更新:

圖片描述

需要我刷新瀏覽器它才會(huì)更新。

這種問(wèn)題怎么解決呢?

回答
編輯回答
亮瞎她

不會(huì)。組件請(qǐng)用computed去接收state和getter。
就算不是來(lái)自vuex的數(shù)據(jù),只要是data中的都不會(huì)更新,data的定義時(shí)的作用就是初始值。

2017年8月5日 13:25