1. 程式人生 > >Vuex中的state訪問狀態物件

Vuex中的state訪問狀態物件

 state ,這個就是我們說的訪問狀態物件,它就是我們SPA(單頁應用程式)中的共享值。如何把狀態物件賦值給內部物件,也就是把stroe.js中的值,賦值給我們模板裡data中的值。我們有三種賦值方式

一、通過computed的計算屬性直接賦值

computed屬性可以在輸出前,對data中的值進行改變,我們就利用這種特性把store.js中的state值賦值給我們模板中的data值。

例如:充電樁專案中實現頂欄標題文字改變。

computed:{
  count(){
      return this.$store.state.count
    }
}

注意:return this.$store.state.count這一句,一定要寫this,要不你會找不到$store的。這種寫法很好理解,但是寫起來是比較麻煩的,那我們來看看第二種寫法。

二、通過mapState的物件來賦值

1.首先要用import引入mapState

import {mapState} from 'vuex'

2.還在computed計算屬性裡寫如下程式碼:

computed:mapState({
      count:state=>state.count
 })
  // computed: mapState({
  //   // ①ES5寫法
  //   // count: function (state) {
  //   //   return state.count
  //   // }
  //   // ②ES6寫法(箭頭函式)
  //   count: state => state.count
  // })

三、通過mapState的陣列來賦值

1.首先要用import引入mapState

import {mapState} from 'vuex'

2.

computed: mapState(['count'])

這個算是最簡單的寫法了,在實際專案開發當中也經常這樣使用。