实战IT培训机构_黄色激情网站_IT培训班选大学生IT技术培训中心_黄色激情视频网站_中公优就业

400-650-7353
您所在的位置:首頁 > IT干貨資料 > web前端 > 【Web前端基礎知識】Vuex狀態管理

【Web前端基礎知識】Vuex狀態管理

  • 來源:
  • 2021-08-30 17:10:05
  • 閱讀()
  • 分享
  • 手機端入口

一、Vuex是什么

  Vuex是專門為Vuejs應用程序設計的狀態管理工具。它采用集中式存儲管理應用的所有組件的狀態,并以相應的規則保證狀態以一種可預測的方式發生變化。是狀態管理,在main.js引入store,注入。只用來讀取的狀態集中放在store中; 改變狀態的方式是提交mutations,這是個同步的事物; 異步邏輯應該封裝在action中。Vuex可以理解為一種開發模式或框架,通過狀態集中管理驅動組件的變化,應用級的狀態集中放在store中,改變狀態的方式是提交mutations,異步邏輯封裝在action中。

應用場景有:單頁應用中,組件之間的狀態、音樂播放、登錄狀態、加入購物車vuex是一種集中式狀態管理模式,它按照一定的規則管理狀態,保證狀態的變化是可預測的。

1、Vuex的構成

  由上圖,我們可以看出Vuex有以下幾個部分構成:

1)state

state是存儲的單一狀態,是存儲的基本數據。

2)Getters

getters是store的計算屬性,對state的加工,是派生出來的數據。就像computed計算屬性一樣,getter返回的值會根據它的依賴被緩存起來,且只有當它的依賴值發生改變才會被重新計算。

3)Mutations

mutations提交更改數據,使用store.commit方法更改state存儲的狀態。(mutations同步函數)

4)Actions

actions像一個裝飾器,提交mutation,而不是直接變更狀態。(actions可以包含任何異步操作)

5)Module

Module是store分割的模塊,每個模塊擁有自己的state、getters、mutations、actions。

  1. const moduleA = { 
  2.   state: { ... }, 
  3.   mutations: { ... }, 
  4.   actions: { ... }, 
  5.   getters: { ... } 
  6.  
  7. const moduleB = { 
  8.   state: { ... }, 
  9.   mutations: { ... }, 
  10.   actions: { ... } 
  11.  
  12. const store = new Vuex.Store({ 
  13.   modules: { 
  14.     a: moduleA, 
  15.     b: moduleB 
  16.   } 
  17. }) 
  18.  
  19. store.state.a // -> moduleA 的狀態 
  20. store.state.b // -> moduleB 的狀態 

6)輔助函數

Vuex提供了mapState、MapGetters、MapActions、mapMutations等輔助函數給開發在vm中處理store。

二、Vuex的設計思想

  Vuex的設計思想,借鑒了Flux、Redux,將數據存放到全局的store,再將store掛載到每個vue實例組件中,利用Vue.js的細粒度數據響應機制來進行高效的狀態更新。

小結

  Vuex是通過全局注入store對象,來實現組件間的狀態共享。在大型復雜的項目中(多級組件嵌套),需要實現一個組件更改某個數據,多個組件自動獲取更改后的數據進行業務邏輯處理,這時候使用vuex比較合適。假如只是多個組件間傳遞數據,使用vuex未免有點大材小用,其實只用使用組件間常用的通信方法即可。

Vue組件簡單常用的通信方式有以下幾種:

1、父子通信:

父向子傳值,通過props;子向父傳值通過events ($emit);父調用子方法通過ref;provide / inject。

2、兄弟通信:bus

3、跨級嵌套通信:bus;provide / inject等。

Vuex可以理解為一種開發模式或框架,通過狀態集中管理驅動組件的變化,應用級的狀態集中放在store中,改變狀態的方式是提交mutations,異步邏輯封裝在action中。

文章“【Web前端基礎知識】Vuex狀態管理”已幫助

>>本文地址:http://www.jecan.cn/zhuanye/2021/69830.html

THE END  

聲明:本站稿件版權均屬中公教育優就業所有,未經許可不得擅自轉載。

1 您的年齡

2 您的學歷

3 您更想做哪個方向的工作?

獲取測試結果
  • 大前端大前端
  • 大數據大數據
  • 互聯網營銷互聯網營銷
  • JavaJava
  • Linux云計算Linux
  • Python+人工智能Python
  • 嵌入式物聯網嵌入式
  • 全域電商運營全域電商運營
  • 軟件測試軟件測試
  • 室內設計室內設計
  • 平面設計平面設計
  • 電商設計電商設計
  • 網頁設計網頁設計
  • 全鏈路UI/UE設計UI設計
  • VR/AR游戲開發VR/AR
  • 網絡安全網絡安全
  • 新媒體與短視頻運營新媒體
  • 直播帶貨直播帶貨
  • 智能機器人軟件開發智能機器人
 

快速通道fast track

近期開班時間TIME

主站蜘蛛池模板: 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 搪玻璃冷凝器_厂家-越宏化工设备 | 温州食堂承包 - 温州市尚膳餐饮管理有限公司 | 淄博不锈钢,淄博不锈钢管,淄博不锈钢板-山东振远合金科技有限公司 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 手板-手板模型-手板厂-手板加工-生产厂家,[东莞创域模型] | BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 安全,主动,被动,柔性,山体滑坡,sns,钢丝绳,边坡,防护网,护栏网,围栏,栏杆,栅栏,厂家 - 护栏网防护网生产厂家 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 湖州织里童装_女童男童中大童装_款式多尺码全_织里儿童网【官网】-嘉兴嘉乐网络科技有限公司 | 预制直埋蒸汽保温管-直埋管道-聚氨酯发泡保温管厂家 - 唐山市吉祥保温工贸有限公司 | 影合社-影视人的内容合作平台 | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 国际金融网_每日财经新资讯网| 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」| 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 乳化沥青设备_改性沥青设备_沥青加温罐_德州市昊通路桥工程有限公司 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 立式_复合式_壁挂式智能化电伴热洗眼器-上海达傲洗眼器生产厂家 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 直流大电流电源,燃料电池检漏设备-上海政飞 | 起好名字_取个好名字_好名网免费取好名在线打分 | CTAB,表面活性剂1631溴型(十六烷基三甲基溴化铵)-上海升纬化工原料有限公司 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 传动滚筒,改向滚筒-淄博建凯机械科技有限公司 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 |