vue 中的 Vuex

Vuex

Vuex是什么?

概念:專門在vue中實現集中式狀態(數據)管理的一個Vue插件,對Vue應用中多個組件的共享狀態進行集中式的管理(讀/寫),也是一種組件間通信的方式,且適用于任意組件間通信

搭建Vuex環境

  1. 下載安裝vuex 使用命令: npm i vuex
  2. 創建src/store/index.js該文件用于創建Vuex中最為核心的 store(store是文件)

Vuex Github地址

$bus.$on('getX',回調)
$bus.$emit('updateX',數據)

在這里插入圖片描述

使用Vuex組件

什么時候使用Vuex

  1. 多個組件依賴于同一狀態
  2. 來自不同組件的行為需要變更同—狀態

在這里插入圖片描述


1. 引入Vuex【store/index.js】

import Vuex from 'vuex'

2. 注冊Vuex插件

Vue.use(Vuex)

3. 準備三個組件 actions mutations state

準備actions–用于響應組件中的動作
const actions = {}
準備mutations–用于操作數據(state)
const mutations = {}
準備state–用于存儲數據
const state = {}

4. 創建并暴露store

	export default new Vuex.Store({actions,mutations,state})

總結:
在這里插入圖片描述

使用Vuex編寫

  • Vuex的基本使用

1.初始化數據state,配置actions .mutations,操作文件store.js

  1. 讀取vuex中的數據
    $store.state.數據名
  2. 修改vuex中的數據 action方法 / mutations方法
    $store.dispatch( 'action中的方法名',數據)
    $store.commit( 'mutations中的方法名',數據)

commit方法
在這里插入圖片描述

getters 配置項

概念:當state 中的數據需要經過加工后再使用時,可以使用 getters 加工,相當于全局計算屬性在store.js 中追加getters配置

引入全局計算屬性 getters

	const getters = {bigSum(state){return state.sum *10}}//創建并暴露storeexport default new Vuex.Store({getters})

【src/index.js】
在這里插入圖片描述

組件中讀取數據

	$store.getters.bigSum

【文件內讀取數據 Xxx.vue】
在這里插入圖片描述

map方法

  1. mapState方法:用于幫助映射state中的數據為計算屬性
    在這里插入圖片描述
  2. mapGetters方法:用于幫助映射getters 中的數據為計算屬性
    在這里插入圖片描述
    √ 3. ** mapActions方法:用于幫助生成與actions對話的方法,即包含$store.dispatch(xxx)的函數**
    在這里插入圖片描述
    √ 4. mapMutations方法:用于幫助生成與mutations對話的方法,即包含
    $store.commit(xxx)的函數

    在這里插入圖片描述
    注意: mapActions 與mapMutations使用時
    若需要傳遞參數需要:在模板中綁定事件時傳遞好參數 否則參數是事件對象

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10906.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10906.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10906.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024最新小紅書電商落地實操課,從入門到精通,打造爆款方法(16節課)

你是不是經常在小紅書上看到各種各樣的推廣和引流方法,卻感覺實際操作起來很困難? 那么,這門2024最新小紅書電商落地實操課就是為你量身定制的!從入門到精通,不僅能讓你了解電商平臺的基本規則和玩法,還能…

ansible------inventory 主機清單

目錄 inventory 中的變量 2)組變量[webservers:vars] #表示為 webservers 組內所有主機定義變量,所有組內成 員都有效 ansible_userrootansible_passwordabc1234 3) [all:vars…

VulkanSDK Demos vkcube 編譯失敗

操作系統: Windows 11 23H2 Vulkan 版本: 1.3.2.280.0 Visual Studio 版本: 2022 在VulkanSDK/Demos目錄下存在一個demo solution,其中包含兩個project, vkcube和vkcubepp,兩個分別為C語言和C寫的示例程序, 但是直接編譯這兩個project時會編譯失敗,報了以下錯誤: fatal err…

[Java EE] 文件IO(一):文件概念與文件系統操作

🌸個人主頁:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵?熱門專欄:🍕 Collection與數據結構 (91平均質量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

LeetCode 每日一題 ---- 【2391.收集垃圾的最少總時間】

LeetCode 每日一題 ---- 【2391.收集垃圾的最少總時間】 2391.收集垃圾的最少總時間方法:模擬(多次遍歷) 2391.收集垃圾的最少總時間 方法:模擬(多次遍歷) 需要注意的點是,處理一個單位的一個…

mysql分頁排序的坑,千萬注意!

1、問題復現 現象: mysql對無索引字段進行排序后limit ,當被排序字段有相同值時并且在limit范圍內,取的值并不是正常排序后的值,有可能第一頁查詢的記錄,重復出現在第二頁的查詢記錄中,而且第二頁的查詢結…

青少年軟件編程(Python)等級考試試卷(四級)2024年3月

電子學會2024.03青少年軟件編程(Python)等級考試試卷(四級) 一、單選題 1.運行如下代碼,若輸入整數3,則最終輸出的結果為? ( ) def f(x): if x1: s1 else: sf(x-1)*x return s nint(input("請…

Java RMI SERVER命令執行漏洞

Java RMI SERVER命令執行漏洞 一、介紹二、原理三、復現準備四、漏洞復現 一、介紹 RMI全稱是Remote Method Invocation(遠程方法調用),是專為Java環境設計的遠程方法調用機制,遠程服務器提供API,客戶端根據API提供相…

java性能分析async-profiler

項目地址 github:https://github.com/async-profiler/async-profiler cpu ./asprof -d 600s -f cpu.html pidcpu-wall:表示抓取所有狀態下的線程數據,包含:Running, Sleeping or Blocked ./asprof -e wall -d 600s -f cpu-wall…

TypeScript 工具類型

這些工具類型是 TypeScript 提供的強大功能&#xff0c;用于操作和轉換類型。下面是每個工具類型的簡要說明和示例&#xff1a; 1、Record let value: Record<string, any> { name: "", age: 0, desc: [] }; let value2: { [key: string]: any } { name: &…

java生成二維碼合并海報并加上文字

1.生成二維碼 public static byte[] generateQRCodeImages(String text, int width, int height) throws WriterException, IOException {String binary null;QRCodeWriter qrCodeWriter new QRCodeWriter();//調整白邊大小Hashtable<EncodeHintType, Object> hints n…

微信小程序新技能解鎖:輕松實現二維碼掃描與識別

微信小程序新技能解鎖&#xff1a;輕松實現二維碼掃描與識別 在移動互聯網時代&#xff0c;二維碼已成為連接線上線下的橋梁&#xff0c;而微信小程序作為輕量級應用的代表&#xff0c;自然也少不了二維碼掃描與識別的功能。本文將手把手教你如何在微信小程序中集成這項實用功…

【3dmax筆記】020:變換輸入、世界坐標、屏幕坐標案例詳解

文章目錄 一、變換輸入二、世界坐標三、屏幕坐標四、區別一、變換輸入 變換輸入可用于:移動/旋轉/縮放變換輸入,快捷鍵為F12,在變換輸入窗口中,有兩種常見重要的坐標系: 世界坐標:固定屏幕坐標:隨著選擇的視圖發生變化在3ds Max中,世界坐標(World Coordinate System)…

Git Bash和Git GUI設置中文的方法

0 前言 Git是一個分布式版本控制系統&#xff0c;可以有效、高速地處理從很小到非常大的項目版本管理。一般默認語言為英文&#xff0c;本文介紹修改Git Bash和Git GUI語言為中文的方法。 1 Git Bash設置中文方法 &#xff08;1&#xff09;鼠標右鍵&#xff0c;單擊“Git B…

網絡無線網卡無法配置正確的 dns 服務器

網絡無線網卡無法配置正確的 dns 服務器--解決辦法 網絡無線網卡無法配置正確的 dns 服務器--解決辦法 網絡無線網卡無法配置正確的 dns 服務器–解決辦法 建議先使用疑難反饋&#xff08;自帶的&#xff09; 打開網絡適配中心 之后更改適配器設置&#xff0c;在點擊 wlan 屬…

【linux】linux工具使用

這一章完全可以和前兩篇文件歸類在一起&#xff0c;可以選擇放一起看哦 http://t.csdnimg.cn/aNaAg http://t.csdnimg.cn/gkJx7 拖更好久了&#xff0c;抱歉&#xff0c;讓我偷了會懶 1. 自動化構建工具 make , makefile make 是一個命令&#xff0c;makefile 是一個文件&…

jdk安裝使用(Linux)

文章目錄 JDK在Linux的安裝Linux運行打包好的springboot項目停止在Linux服務器上運行的Spring Boot應用程序 JDK在Linux的安裝 在Linux上安裝JDK&#xff08;Java Development Kit&#xff09;可以通過以下步驟完成&#xff1a; 下載JDK安裝包&#xff1a; 訪問Oracle官方網站…

【Java】變量類型

類變量&#xff1a;獨立于方法之外的變量&#xff0c;用static修飾實例變量&#xff1a;獨立于方法之外的變量&#xff0c;不過沒有static修飾局部變量&#xff1a;類的方法中的變量 示例1&#xff1a; public class test_A {static int a;//類變量(靜態變量)String b;//實例…

Mysql 日志(redolog, binlog, undoLog)

重做日志-redolog 是什么 innoDB存儲引擎層面的日志&#xff0c;它的作用是當 數據更新過程中數據庫發生異常導致提交的記錄丟失 為什么 mysql的基本存儲結構是頁&#xff08;記錄都在頁里面&#xff09;&#xff0c;所以更新語句時&#xff0c;mysql需要先把要更新的語句找…

Softing工業推出的edgeConnector將Allen-Bradley控制器集成到工業邊緣應用中

2024年4月17日&#xff08;哈爾&#xff09;&#xff0c;Softing宣布擴展其基于Docker的edgeConnector產品系列&#xff0c;推出了新軟件模塊edgeConnector Allen Bradley PLC&#xff0c;可方便用戶訪問來自ControlLogix和CompactLogix控制器數據。 &#xff08;edgeConnector…