vue-vuex-state響應式


  vuex的store對象的state是響應式,凡是預先在state中定義的狀態,都會被加入到響應式系統中,當狀態發生了變化,所有引用狀態的vue文件的template都會隨之發生變化,做到響應式的功能。剛才也說了,提前定義好的會被加入到響應式系統中,那后面追加的屬性或對象能不能加入到響應式系統中呢?答案是 如果按照指定的方式來添加和刪除屬性,是可以做到響應式的。

  比如現在我要添加一個新屬性height,用兩種方式添加,如下:

  方式1:此種方式能添加state中對象的屬性,但無法加入到響應式系統中,即頁面上不會顯示出來,實際上確實存在了這個屬性

  mutations: {
    addheight(state){
      state.stus[0]['height'] = 168
    }
  }

  方式2:此方式可以讓屬性加入到響應式系統中

  mutations: {
    addheight(state){
      Vue.set(state.stus[1],'height',178) //參數一為對象,參數二為key,參數為value
    }
  }

  說完添加屬性,再說下刪除吧,想要刪除屬性並加入響應式系統,如下方式:

  mutations: {
    delheight(state){
      Vue.delete(state.stus[1],'height') //參數一為對象,參數二是key
    }
  }

  來個總圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM