【Vue】如何提供訪問vuex的數據

文章目錄

  • 一、提供數據
  • 二、訪問Vuex中的數據
    • 通過$store訪問的語法
    • 1)模板中使用
    • 2)組件邏輯中使用
    • 3)js文件中使用
  • 三、通過輔助函數 - mapState獲取 state中的數據

一、提供數據

State提供唯一的公共數據源,所有共享的數據都要統一放到Store中的State狀態中存儲。

打開項目中的index.js文件,在state對象中可以添加我們要共享的數據。

// 創建倉庫 store
const store = new Vuex.Store({// state 狀態, 即數據, 類似于vue組件中的data,// 區別:// 1.data 是組件自己的數據, // 2.state 中的數據整個vue項目的組件都能訪問到state: {count: 101}
})

二、訪問Vuex中的數據

問題: 如何在組件中獲取count?

  1. 通過$store直接訪問 —> {{ $store.state.count }}
  2. 通過輔助函數mapState 映射計算屬性 —> {{ count }}

通過$store訪問的語法

先找到倉庫,再找到倉庫里的state

獲取 store:1.Vue模板中獲取 this.$store2.js文件中獲取 import 導入 store模板中:     {{ $store.state.xxx }}
組件邏輯中:  this.$store.state.xxx
JS模塊中:   store.state.xxx

1)模板中使用

組件中可以使用 $store 獲取到vuex中的store對象實例,可通過state屬性屬性獲取count, 如下

<h1>state的數據 - {{ $store.state.count }}</h1>

2)組件邏輯中使用

將state屬性定義在計算屬性中 https://vuex.vuejs.org/zh/guide/state.html

<h1>state的數據 - {{ count }}</h1><script>
// 把state中數據,定義在組件內的計算屬性中
computed: {count () {return this.$store.state.count}
}
</script>

3)js文件中使用

//main.jsimport store from "@/store"console.log(store.state.count)

每次都像這樣一個個的提供計算屬性, 太麻煩了,我們有沒有簡單的語法幫我們獲取state中的值呢?


三、通過輔助函數 - mapState獲取 state中的數據

由于上面獲取數據的方式有點長,此時我們只需要將其封裝到計算屬性中,就可以通過屬性名直接訪問了

image-20240205120645447

mapState是輔助函數,幫助我們把store中的數據自動映射到 組件的計算屬性中, 它屬于一種方便的用法

用法 :

68321471957

1.第一步:導入mapState (mapState是vuex中的一個函數)

import { mapState } from 'vuex'

2.第二步:采用數組形式引入state屬性

mapState(['count']) 

上面代碼的最終得到的是 類似于,結果是得到一整個對象

console.log(mapState(['count', 'title']))

打印的這個對象,鍵就是屬性名,值就是一個計算屬性

image-20240205123101275

// 這一整個對象肯定不能直接賦值給computed,這樣導致這個對象就直接給computed占滿了,但是我們后面還需要提供自己的計算屬性
count () {return this.$store.state.count
}

3.第三步:利用展開運算符將導出的狀態映射給計算屬性

  computed: {// 一旦丟在這里,就意味著下面還可以加其他的計算屬性// count () {//    return this.$store.state.count// }...mapState(['count'])}
 <div> state的數據:{{ count }}</div>

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

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

相關文章

[office] 快速刪除excel中的空行和列的方法 #其他#學習方法#經驗分享

快速刪除excel中的空行和列的方法 用戶在網上下載好的Excel表格打開之后發現有很多空白行&#xff0c;怎么樣將這些空白行或單元格一次性刪除掉呢?下面教大家在Excel中用定位一次性可以把空白行刪除 用戶在網上下載好的Excel表格打開之后發現有很多空白行&#xff0c;怎么樣將…

Vue3 使用audio播放語音+監聽播放語音完成事件

需求&#xff1a;輸入一段文字&#xff0c;點擊語音框&#xff0c;將本地語音&#xff08;提前準備好的&#xff09; 播放出來 播放中效果 代碼 <div class"listConAI" click"handleOpenSpeech" ><imgsrc"../../../../assets/images/blueo…

web前端 孫俏:深度探索與實戰之路

web前端 孫俏&#xff1a;深度探索與實戰之路 在這個數字化、信息化的時代&#xff0c;web前端技術以其獨特的魅力&#xff0c;吸引著越來越多的開發者投身其中。今天&#xff0c;我們將跟隨孫俏的腳步&#xff0c;一同探索web前端的深度與廣度&#xff0c;揭開其神秘的面紗。…

中文文案寫作有哪些合適的AIGC工具?

這是計育韜老師第 8 次開展面向全國高校的新媒體技術公益巡講活動了。而在每場講座尾聲&#xff0c;互動答疑環節往往反映了高校師生當前最普遍的運營困境&#xff0c;特此計老師在現場即興答疑之外&#xff0c;會盡量選擇有較高價值的提問進行文字答疑梳理。 *本輪巡講主題除了…

【Vue】開啟嚴格模式及Vuex的單項數據流

文章目錄 一、引出問題二、開啟嚴格模式 一、引出問題 目標 明確 vuex 同樣遵循單向數據流&#xff0c;組件中不能直接修改倉庫的數據 這樣數據的流向才會更加清晰&#xff0c;將來對數據的修改&#xff0c;都在倉庫內部實現的&#xff0c;更易于維護 直接在組件中修改Vuex中…

Git:版本控制的藝術與GitLab實戰指南

在當今快速發展的軟件開發領域&#xff0c;高效、協同的代碼管理是項目成功的關鍵。Git&#xff0c;作為一款分布式版本控制系統&#xff0c;憑借其強大的功能和靈活性&#xff0c;成為了眾多開發者首選的版本控制工具。本文將帶您深入探索Git的核心概念、基礎操作&#xff0c;…

B3870 [GESP202309 四級] 變長編碼

[GESP202309 四級] 變長編碼 題目描述 小明剛剛學習了三種整數編碼方式&#xff1a;原碼、反碼、補碼&#xff0c;并了解到計算機存儲整數通常使用補碼。但他總是覺得&#xff0c;生活中很少用到 2 31 ? 1 2^{31}-1 231?1 這么大的數&#xff0c;生活中常用的 0 ~ 100 0…

Spring進階技巧:利用AOP提前介入的巧妙實踐

Spring框架中的面向切面編程&#xff08;AOP&#xff09;是一種強大的機制&#xff0c;它允許開發者在不修改原有代碼的情況下&#xff0c;對程序進行橫向切面的功能擴展。AOP提供了一種方式&#xff0c;可以在目標Bean的生命周期早期階段就實施切面邏輯&#xff0c;這為我們在…

Python 中如何使用 lambda 函數

在 Python 中&#xff0c;可以使用 lambda 函數來創建匿名函數。lambda 函數的語法是&#xff1a;lambda 參數: 表達式。以下是一些使用 lambda 函數的例子&#xff1a; 通過 lambda 函數來計算兩個數的和&#xff1a; add lambda x, y: x y print(add(2, 3)) # 輸出 5通過…

Oracle 日志挖掘

oracle 11g 日志挖掘測試 需要開啟補充日志 alter database add supplemental log data; SELECT SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI FROM V$DATABASE;在用戶下執行一些刪除&#xff0c;插入等操作 SQL> create table zxy( …

LLM評測數據集

1. C-Eval 數據集源地址: C-Eval Official Repository 數據范圍: 該數據集包括學科類知識測試&#xff0c;涵蓋廣泛的學科知識&#xff0c;例如數學、物理、化學等。 數據集大小及數據形式: 數據集包含13,948道單選題&#xff0c;題目均為中文。 論文地址: C-Eval: A Multi-…

【一百一十】【算法分析與設計】[SDOI2009] HH的項鏈,樹狀數組應用,查詢區間的種類數,樹狀數組查詢區間種類數

P1972 [SDOI2009] HH的項鏈 [SDOI2009] HH的項鏈 題目描述 HH 有一串由各種漂亮的貝殼組成的項鏈。HH 相信不同的貝殼會帶來好運&#xff0c;所以每次散步完后&#xff0c;他都會隨意取出一段貝殼&#xff0c;思考它們所表達的含義。HH 不斷地收集新的貝殼&#xff0c;因此&am…

SMS - 基于阿里云實現手機短信驗證碼登錄(無需備案,非測試)

目錄 SMS 環境調試 從阿里云云市場中購買第三方短信服務 調試短信驗證碼功能 實戰開發 封裝組件 對外接口 調用演示 SMS 環境調試 從阿里云云市場中購買第三方短信服務 a&#xff09;進入阿里云首頁&#xff0c;然后從云市場中找到 “短信” &#xff08;一定要從 云…

如何實現網站HTTPS訪問

在當今網絡安全至關重要的時代&#xff0c;HTTPS已經成為網站安全的基本標準。HTTPS&#xff08;超文本傳輸安全協議&#xff09;通過在HTTP協議基礎上加入SSL加密層&#xff0c;確保了數據在用戶瀏覽器和服務器之間的傳輸是加密的&#xff0c;有效防止數據被竊取或篡改&#x…

calico node一直not ready

背景 我司某個大數據集群在做完添加到集群聯邦管理后&#xff0c;該集群的calico-node全部處于not ready 狀態&#xff0c;導致集群中節點之前的跨節點容器網絡不通。 操作 將大數據所在的k8s集群添加到集群聯邦的控制平面后&#xff0c;我們為了做各個子集群之間的容器網絡…

換熱器設計參數的選用

1 換熱管類型 光管&#xff1a;適用于任何條件&#xff1b;應用面廣 螺紋管&#xff1a;殼程流體的膜傳熱系數相當于管程傳熱系數1/3~3/5的場合&#xff1b;強化殼程傳熱系數&#xff0c;提高總傳熱系數&#xff1b;結垢速率低&#xff0c;結垢周期長。 波紋管&#xff1a;管…

使用 PAI-DSW x Free Prompt Editing圖像編輯算法,開發個人AIGC繪圖小助理

教程簡述 在本教程中&#xff0c;您將學習在阿里云交互式建模平臺PAI-DSW x Free Prompt Editing&#xff08;CVPR2024中選論文算法&#xff09;圖像編輯算法&#xff0c;開發個人AIGC繪圖小助理&#xff0c;實現文本驅動的圖像編輯功能單卡即可完成AIGC圖片風格變化、背景變化…

Java 的分支

分支控制有三種&#xff1a;單分支&#xff0c;雙分支&#xff0c;多分支。 單分支 基本語法&#xff1a; if (條件表達式){執行代碼塊; }程序示例&#xff1a; import java.util.Scanner;public class If01 {public static void main(String[] args) {Scanner sc new Sca…

【JAVA WEB實用技巧與優化方案】如何通過javacore、heapdump來排查JVM線程和內存問題

文章目錄 介紹什么是javacore ? javacore可以用來做哪些分析?什么是HeapDump?一、輸出JAVACORE 和 DUMP文件1.輸出JAVACORE通過`kill -3 [pid]` 來輸出javacore通過jstack 輸出Javacore文件2.輸出 dump 文件二、javacore文件和heapdump文件的分析工具使用詳情javacore 工具i…

Cesium開發環境搭建(一)

1.下載安裝Node.js 進入官網地址下載安裝包 Node.js — Download Node.js https://cdn.npmmirror.com/binaries/node/ 選擇對應你系統的Node.js版本&#xff0c;這里我選擇的是Windows系統、64位 安裝完成后&#xff0c;WINR&#xff0c;輸入node --version&#xff0c;顯示…