vuex
- Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。
- Vuex 應(yīng)用的核心就是 store(倉(cāng)庫(kù)),相當(dāng)于一個(gè)容器,包含著應(yīng)用中大部分的狀態(tài) (state)。
1.Vuex 的狀態(tài)存儲(chǔ)是響應(yīng)式的。當(dāng) Vue 組件從 store 中讀取狀態(tài)的時(shí)候,若 store 中的狀態(tài)發(fā)生變化,那么相應(yīng)的組件也會(huì)相應(yīng)地得到高效更新。
2.不能直接改變 store 中的狀態(tài)。改變 store 中的狀態(tài)的唯一途徑就是顯式地提交 mutation。這樣跟蹤每一個(gè)狀態(tài)的變化,從而讓我們能夠?qū)崿F(xiàn)一些工具幫助我們更好地了解我們的應(yīng)用。
臟檢測(cè)
臟檢查即一種不關(guān)心你如何以及何時(shí)改變的數(shù)據(jù), 只關(guān)心在特定的檢查階段數(shù)據(jù)是否改變的數(shù)據(jù)監(jiān)聽技術(shù).
Angular并不是周期性觸發(fā)臟檢查。只有當(dāng)UI事件,ajax請(qǐng)求或者 timeout 延遲事件,才會(huì)觸發(fā)臟檢查。
vue項(xiàng)目
在頁(yè)面首次加載執(zhí)行順序有如下:
beforeCreate //在實(shí)例初始化之后、創(chuàng)建之前執(zhí)行
created //實(shí)例創(chuàng)建后執(zhí)行
beforeMounted //在掛載開始之前調(diào)用
filters //掛載前加載過(guò)濾器
computed //計(jì)算屬性
directives-bind //只調(diào)用一次,在指令第一次綁定到元素時(shí)調(diào)用
directives-inserted //被綁定元素插入父節(jié)點(diǎn)時(shí)調(diào)用
activated //keek-alive組件被激活時(shí)調(diào)用,則在keep-alive包裹的嵌套的子組件中觸發(fā)
mounted //掛載完成后調(diào)用
{{}} //mustache表達(dá)式渲染頁(yè)面
修改頁(yè)面input時(shí),被自動(dòng)調(diào)用的選項(xiàng)順序如下:
watch //首先先監(jiān)聽到了改變事件
filters //過(guò)濾器沒(méi)有添加在該input元素上,但是也被調(diào)用了
beforeUpdate //數(shù)據(jù)更新時(shí)調(diào)用,發(fā)生在虛擬dom打補(bǔ)丁前
directived-update //指令所在的組件的vNode更新時(shí)調(diào)用,但可能發(fā)生在其子vNode更新前
directives-componentUpdated//指令所在的組件的vNode及其子組件的vNode全部更新后調(diào)用
updated //組件dom已經(jīng)更新
組件銷毀時(shí),執(zhí)行順序如下
beforeDestroy //實(shí)例銷毀之前調(diào)用
directives-unbind //指令與元素解綁時(shí)調(diào)用,只調(diào)用一次
deactivated //keep-alive組件停用時(shí)調(diào)用
destroyed //實(shí)例銷毀之后調(diào)用