通俗易懂,先来认识一下Vuex
繼續我們的《Vue2.0 進階》系列的學習,學過Vue的同學一定多多少少聽過Vuex,它是Vue全家桶的一部分。
那么,它的作用到底是什么呢?開發的時候使用了Vuex會給我們帶來什么好處呢?在學習使用Vuex之前,我們有必要先來搞懂以上兩個問題。
Vuex是什么
我們來看看對Vuex比較專業的介紹:
Vuex是一個專為Vue開發的應用程序的狀態管理模式,它采用集中式存儲管理應用的所有組件的狀態,并以相應的規則保證狀態以一種可預測的方式發生變化。
說得這么官方,讓我們新手怎么能理解好呢?
你可以理解為:Vuex采用類似全局對象的形式來管理所有組件的公用數據,如果你想想修改這個全局對象的數據?是可以的,但沒那么簡單,你得按照Vuex提供的方式來修改,不能自己隨意用自己的方式來修改。
使用Vuex的好處?
為什么說只是類似全局對象呢?
說的是類似,就代表它跟我們之前使用的定義全局對象變量還不完全一樣。主要有一下兩點不同:
?
1.Vuex的狀態存儲是響應式的,什么意思呢?就是當你的組件使用到了這個Vuex的狀態,一旦它改變了,所有關聯的組件都會自動更新相對應的數據,這樣開發者省事很多。
?
2.你不能直接修改Vuex的狀態,如果是個全局對象變量,要修改很容易,但是在Vuex中不能這樣做,想修改就得使用Vuex提供的唯一途徑:顯示地提交(commint)mutations來實現修改(沒了解過這里沒關系,下一節前端君會有介紹)。這樣做的好處就是方便我們跟蹤每一個狀態的變化,在開發過程中調試的時候,非常實用。
以上兩點是Vuex狀態管理跟使用傳統全局變量的不同之處,也是Vuex的優勢所在。那是不是所有使用vue開發的SPA(single page application)單頁應用都適合采用Vuex呢?
?
適用場景
當然也不是,如果你的應用是個小型的應用,組件不多,組件之間的狀態依賴不多,關系清晰容易維護,也就是說不同組件之間很少有數據之間的關聯的話,那么你大可不用Vuex來開發。
?
反之,如果你開發的是較大型的應用,出現多個視圖組件共同依賴一個狀態,這個狀態相當于我們的全局對象數據,其他組件的改動,會影響到它,反之,它的修改也需要更新其他關聯的組件,那么Vuex就很適用。比如:商城系統,外賣系統等等。
?
所以在開發之前,可以多花時間去思考,在項目開發過程中,你可能會遇到那些開發問題,組件該如何設計,程序代碼該如何組織。磨刀不誤砍柴工,不要接到任務就急著動手敲代碼實現,這些都是新手容易忽略的事。
?
技術可以即學即會,但經驗,還得靠項目來積累。多思考,經驗才能積累得更多一點。
?
本節小結
今晚這一節沒有演示代碼,先帶大家通俗易懂地認識Vuex,知道它提供狀態管理機制,相比使用傳統的全局對象,它有兩大優點,而且了解了它有適用和不適用的業務場景。下一節我們再來學習如何使用Vuex。
?
最近工作繁忙,更新教程的頻率頗慢,但大家放心,大白話,講編程,通俗易懂的講解風格不會變,文章質量還得有所保障。
?
夜深了,估計大家都休息了,明天中午再發推送,明天見。
推薦
擴展閱讀
?1.《ECMAScript 6 系列》原創教程
?2.《Vue2.0基礎系列》原創教程
?3.《ECMAScript 6 系列》的 2 套習題
?4.《Vue2.0基礎系列》的 1 套習題
關于職場
?職場感悟:混口飯吃,談不上喜歡
?薪資待遇:那么點工資,能招到人嗎?
?鄭州招聘:招聘前端3~5人
?廣州招聘:招聘前端2人
資源推薦
其實學好技術并不難,架構師免費分享全網全套最新web前端、JavaScript、HTML5、PHP、數據庫……等視頻資料!
[總價值超3萬!]年薪35萬以上的大牛幾乎都看了!
加微信:?abc15689892?免費領取,由于領取的朋友比較多,所以加微信時一定要備注:555,否則很難通過。
??
總結
以上是生活随笔為你收集整理的通俗易懂,先来认识一下Vuex的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: libSVM笔记之(一)在matlab环
- 下一篇: 第十八节:教你如何使用ES6的Promi