Vuex的基本用法(一)
阿新 • • 發佈:2017-12-05
這不 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 => { returnstate.todos.filter(todo => todo.done) } } })
然後可以通過store.getters.doneTodos進行訪問。也可以設定其他 getter 作為第二個參數進行混合計算。
在學習框架的時候也不要忘記基礎知識的掌握,還有程序員的基本功底:算法數據結構、計算機網絡、計算機系統、編譯原理。個人愚見,笑笑就好。
Vuex的基本用法(一)