[TOC]javascript
父子組件的通訊java
父 -> 子: props架構
子 -> 父: 自定義event函數
組件文檔化code
Vuex主要應用於中、大型單頁應用的數據狀態管理架構。component
組件數據共享事件
父 -> 子:propsip
子 -> 父:自定義event文檔
兄弟之間?其餘非父子? :自定義event?get
自定義event
var bus = new Vue() // in component A's method bus.$emit('id-selected', 1) // in component B's created hook bus.$on('id-selected', function(id){ //... })
共享數據源
const srcData = { count: 0 } const vmA = new Vue({ data: srcData }) const vmB = new Vue({ data: srcData })
誰在emit事件?誰在on事件?父組件和子組件強耦合
如何追蹤數據的狀態變化?
業務邏輯遍及各個組件,致使各類意想不到的問題
state
狀態的容器
getters
狀態的獲取函數
mutations
修改狀態的事件回調函數
actions
分發修改狀態的事件
const store = new Vuex.Store({ //state state: { count: 0 }, //mutations mutations: { INIT (state, data) { state.count = data.count }, INCREASE (state) { state.count++ }, DECREASE (state) { state.count-- } }, //getters getters: { getCount (state) { return state.count } }, //actions actions: { init(context){ context.commit('INIT', { count: 10 }) }, inc(context){ context.commit('INCREASE') }, dec(context){ context.commit('DECREASE') } } })
數據的集合其中處理(DB)
數據的操做集中處理 (CRUD)
全部對數據的操做(CRUD)以請求(commit)的方式提交處理 (DAO)