1. 程式人生 > >Vuex的基本用法(一)

Vuex的基本用法(一)

這不 mut ons 相關 好的 keyword compute 使用 掌握

對於剛入門的小白來說,直接看官方的api是晦澀難懂的。要是去github找一些相關的例子,配合著官方api食用會有很好的效果,再就是多加練習了。

Vuex是前端框架Vue的狀態管理模式。有人可能問了,什麽玩意?不懂。說白了其實就是一個插件而已,和vue-router一樣讓我們的Vue應用更加簡潔、高效、易於管理。因為Vuex采用狀態的集中管理,使得我門的spa應用在變得復雜的時候會更加好管理。關於一些前置概念諸如state、view、actions去官網搞搞就行了。最為重要的兩點:

1.通過提交mutation改變狀態。

2.store是動態的。

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  }
})

 在這裏state是Vue應用的狀態倉庫,mutations是狀態改變的方法集合。等當我們執行:

store.commit(‘increment‘)

這時就會觸發mutations中的increment方法使得count+1,這與以往我們在methods中自己寫方法對data進行操作的方式不同,整個Vue應用采用這種方法進行狀態管理時會使應用更加簡潔。用官方文檔的描述就是“更明確地追蹤到狀態的變化”,同時由於store是動態的,這不影響我們對數據的引用。通過在根實例註冊store我們可以通過:

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

  來返回數據,但是很多時候我們是需要用到state的一些派生數據例如對列表進行過濾呀,獲取數組的長度呀。這時我們可以使用getter屬性

const store = new Vuex.Store({
  state: {
    todos: [
      { id: 1, text: ‘...‘, done: true },
      { id: 2, text: ‘...‘, done: false }
    ]
  },
  getters: {
    // 對state進行操作
    doneTodos: state => {
      return
state.todos.filter(todo => todo.done) } } })

然後可以通過store.getters.doneTodos進行訪問。也可以設定其他 getter 作為第二個參數進行混合計算。

在學習框架的時候也不要忘記基礎知識的掌握,還有程序員的基本功底:算法數據結構、計算機網絡、計算機系統、編譯原理。個人愚見,笑笑就好。

Vuex的基本用法(一)