“约见”面试官系列之常见面试题第二十篇之vuex得理解(建议收藏)
?
一、概念
vuex是一個專為vue.js應用程序開發(fā)的狀態(tài)管理模式(它采用集中式存貯管理應用的所有組件的狀態(tài),并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化)。
二、五大核心屬性
核心屬性為:state,getter,mutation,action,module
-
state:存儲數(shù)據(jù),存儲狀態(tài);在根實例中注冊了store 后,用?this.$store.state?來訪問;對應vue里面的data;存放數(shù)據(jù)方式為響應式,vue組件從store中讀取數(shù)據(jù),如數(shù)據(jù)發(fā)生變化,組件也會對應的更新。
-
getters:可以認為是 store 的計算屬性,相當于 vue中的 computed,依賴于 state里面的值。它的返回值會根據(jù)它的依賴被緩存起來,且只有當它的依賴值發(fā)生了改變才會被重新計算。
-
mutations:用于修改狀態(tài),store里面的數(shù)僅能通過mutations里面的方法改變,但是必須是同步的。更改 vuex 的 store 中的狀態(tài)的唯一方法是提交 mutation,也就是$store.commit。
-
actions:包含任意異步操作,用它處理完后再觸發(fā)mutations來改變狀態(tài)。
-
module:將 store 分割成模塊,每個模塊都具有state、mutation、action、getter、甚至是嵌套子模塊。
三、vuex的數(shù)據(jù)傳遞流程
當組件進行數(shù)據(jù)修改的時候我們需要調(diào)用Dispatch來觸發(fā)Actions里面的方法。
actions里面的每個方法中都會有一個commit方法,當方法執(zhí)行的時候會通過commit來觸發(fā)mutations里面的方法進行數(shù)據(jù)的修改。
mutations里面的每個函數(shù)都會有一個state參數(shù),這樣就可以在mutations里面進行state的數(shù)據(jù)修改,當數(shù)據(jù)修改完畢后,會傳導給頁面。頁面的數(shù)據(jù)也會發(fā)生改變。
本面試題為前端常考面試題,后續(xù)有機會繼續(xù)完善。我是歌謠,一個沉迷于故事的講述者。
歡迎一起私信交流。
“睡服“面試官系列之各系列目錄匯總(建議學習收藏)?
總結(jié)
以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题第二十篇之vuex得理解(建议收藏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python循环结构高一信息技术_高中信
- 下一篇: 前端学习(2014)vue之电商管理系统