這篇文章帶給大家的內容是關於vuex中store的使用介紹(附實例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、狀態管理(vuex)簡介
vuex是專為vue.js應用程式所開發的狀態管理模式。它採用集中儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可預測的方式變更。 vuex也整合刀vue的官方調試工具devtools extension,提供了諸如零配置的time-travel調試、狀態快照導入導出等高級調試功能。
二、狀態管理核心
狀態管理有5個核心,分別是state、getter、mutation、action、以及module。分別簡單的介紹一下它們:
1、state
state為單一狀態樹,在state中需要定義我們所需要管理的陣列、物件、字串等等,只有在這裡定義了,在vue.js的元件中才能取得你定義的這個物件的狀態。
2、getter
getter有點類似vue.js的計算屬性,當我們需要從store的state中衍生出一些狀態,那麼我們就需要使用getter,getter會接收state作為第一個參數,而getter的回傳值會根據它的依賴被快取起來,只有getter中的依賴值(state中的某個需要派生狀態的值)發生改變的時候才會被重新計算。
3、mutation
更改store中state狀態的唯一方法就是提交mutation,就很類似事件。每個mutation都有一個字串類型的事件類型和一個回呼函數,我們需要改變state的值就要在回呼函數中改變。我們要執行這個回呼函數,那麼我們需要執行一個對應的呼叫方法:store.commit。
4、action
action可以提交mutation,在action中可以執行store.commit,而且action中可以有任何的非同步操作。在頁面中如果我們要嗲用這個action,則需要執行store.dispatch
5、module
module其實只是解決了state中很複雜臃腫的時候,module可以將store分割成模組,每個模組中擁有自己的state、mutation、action和getter。
三、實例
1.先建立一個store.js,然後引入vuex
import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const state = { userInfo: {} }const mutations = { updateUserInfo(state, infos) { state.userInfo= infos } } export default new Vuex.Store({ state, mutations })
這樣簡單的store.js就已經完成了。
在介面中我們要怎麼使用這個建立的狀態管理呢
一、設定(更新)資料
首先在script下引入store.js <script> import store from 'store.js的路径'import { mapMutations } from 'vuex'methods:{ ...mapMutations([ 'updateUserInfo' ]) } </script>
在需要更新資料的地方,將資料更新進去
this.updateUserInfo(data)
二、取得資料
<script> import store from 'store.js的路径'import { mapState } from 'vuex'computed: { ...mapState({ userInfo: 'userInfo' }) }, created() { console.log(this.userInfo) } </script>
在created || mounted || methods等需要的地方取得資料
註:也可在同一頁面設定&&取得資料
import { mapMutations, mapState } from 'vuex'
相關推薦:
############################################### #####Vue.js之vuex(狀態管理)#######以上是vuex中store的使用介紹(附實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Vue2.x是目前最流行的前端框架之一,它提供了Vuex作为管理全局状态的解决方案。使用Vuex能够使得状态管理更加清晰、易于维护,下面将介绍Vuex的最佳实践,帮助开发者更好地使用Vuex以及提高代码质量。1.使用模块化组织状态Vuex使用单一状态树管理应用的全部状态,将状态从组件中抽离出来,使得状态管理更加清晰易懂。在具有较多状态的应用中,必须使用模块

Vuex是做什么的?Vue官方:状态管理工具状态管理是什么?需要在多个组件中共享的状态、且是响应式的、一个变,全都改变。例如一些全局要用的的状态信息:用户登录状态、用户名称、地理位置信息、购物车中商品、等等这时候我们就需要这么一个工具来进行全局的状态管理,Vuex就是这样的一个工具。单页面的状态管理View–>Actions—>State视图层(view)触发操作(action)更改状态(state)响应回视图层(view)vuex(Vue3.
![在Vue应用中使用vuex时出现“Error: [vuex] do not mutate vuex store state outside mutation handlers.”怎么解决?](https://img.php.cn/upload/article/000/000/164/168760467048976.jpg)
在Vue应用中,使用vuex是常见的状态管理方式。然而,在使用vuex时,我们有时可能会遇到这样的错误提示:“Error:[vuex]donotmutatevuexstorestateoutsidemutationhandlers.”这个错误提示是什么意思呢?为什么会出现这个错误提示?如何解决这个错误?本文将详细介绍这个问题。错误提示的含
![在Vue应用中使用vuex时出现“Error: [vuex] unknown action type: xxx”怎么解决?](https://img.php.cn/upload/article/000/887/227/168766615217161.jpg)
在Vue.js项目中,vuex是一个非常有用的状态管理工具。它可以帮助我们在多个组件之间共享状态,并提供了一种可靠的方式来管理状态的变化。但在使用vuex时,有时会遇到“Error:[vuex]unknownactiontype:xxx”的错误。这篇文章将介绍该错误的原因及解决方法。1.错误原因在使用vuex时,我们需要定义一些actions和mu

在Vue应用中使用Vuex是非常常见的操作。然而,偶尔在使用Vuex时会遇到错误信息“TypeError:Cannotreadproperty'xxx'ofundefined”,这个错误信息的意思是无法读取undefined的属性“xxx”,导致了程序的错误。这个问题其实产生的原因很明显,就是因为在调用Vuex的某个属性的时候,这个属性没有被正确

具体步骤:1、安装vuex(vue3建议4.0+)pnpmivuex-S2、main.js中配置importstorefrom'@/store'//hx-app的全局配置constapp=createApp(App)app.use(store)3、新建相关的文件夹与文件,这里配置多个不同vuex内部的js,使用vuex的modules来放不同的页面,文件,然后统一使用一个getters.jsindex.js核心文件,这里使用了import.meta.glob,而不

在Vue应用的开发过程中,使用vuex来管理应用状态是非常常见的做法。然而,在使用vuex的过程中,有时我们可能会遇到这样的错误提示:“Error:'xxx'hasalreadybeendeclaredasadataproperty.”这个错误提示看起来很莫名其妙,但其实是由于在Vue组件中,使用了重复的变量名来定义data属性和vuex


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver CS6
視覺化網頁開發工具

Dreamweaver Mac版
視覺化網頁開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。