VUE的中 computed: { ...mapState([‘auditObj‘]), }寫法詳解

具體解析:

  1. computed

    • 這是 Vue 組件選項中的計算屬性,用于聲明依賴于其他數據而存在的派生數據。
    • 計算屬性會根據依賴進行緩存,只有當依賴的數據發生變化時才會重新計算。
  2. mapState

    • 這是 Vuex 提供的一個輔助函數,用于將 store 中的 state 映射到組件的計算屬性中。
    • 它的作用是簡化手動編寫計算屬性來獲取 store 中狀態的過程。
  3. ...?擴展運算符

    • 這里使用 ES6 的擴展運算符,將?mapState?返回的對象展開并合并到?computed?對象中。
    • 如果不使用擴展運算符,需要手動將映射的狀態添加到計算屬性中,代碼會更繁瑣。
  4. ['auditObj']

    • 這是一個數組,指定了要從 Vuex store 的 state 中映射的狀態名稱。
    • 這里表示要映射名為?auditObj?的狀態。

等價寫法:

computed: {auditObj() {
// 把store中存儲共享狀態數據的對象auditObj拿出來全文方便調用return this.$store.state.auditObj;}
}

拓展解析:

一、Vue 的核心特性

  1. 響應式數據綁定
    Vue 會自動追蹤數據變化,并更新依賴該數據的 DOM,無需手動操作 DOM。

<div id="app"><p>{{ message }}</p><button @click="message = 'Hello Vue!'">點擊修改</button>
</div><script>new Vue({el: '#app',data() {return { message: 'Hello World!' }}})
</script>

二、computed是 Vue 組件選項中的一個特殊配置項

1. computed?是Vue 組件選項中的計算屬性,會根據依賴進行緩存,只有當依賴的數據發生變化時才會重新計算

2 和方法的調用區別【Computed (有緩存)/Methods (無緩存)】

<template><div><p>Count: {{ count }}</p><button @click="count++">Increase Count</button><p>Computed Time: {{ computedTime }}</p> <!-- 計算屬性 --><p>Method Time: {{ methodTime() }}</p> <!-- 方法調用 --></div>
</template><script>
export default {data() {return {count: 0}},computed: {computedTime() {// 這個計算屬性不依賴任何響應式數據(如 count),所以它只計算一次,永遠返回緩存值return Date.now();}},methods: {methodTime() {// 方法每次都會執行return Date.now();}}
}
</script>

三、Vuex 的mapState函數

1. Vuex 核心概念:store

Vuex 是 Vue.js 官方的狀態管理模式庫,用于集中管理 Vue 應用中多個組件共享的狀態;store?是 Vuex 的核心容器,它封裝了應用的共享狀態(state)?和操作狀態的方法

  • 特點

    • 整個應用只有一個唯一的?store(單例模式)
    • 包含?state(狀態)、mutations(同步修改)、actions(異步操作)、getters(派生狀態)等核心模塊
    • 組件通過?store?訪問或修改共享狀態
  • 創建方式

  • import Vue from 'vue'
    import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({// 核心配置項state: { ... },       // 狀態mutations: { ... },   // 同步修改狀態actions: { ... },     // 異步操作getters: { ... },     // 計算屬性modules: { ... }      // 模塊拆分(復雜應用)
    })export default store

    2.?state:存儲共享狀態的數據

    state?是?store?中存儲共享狀態數據的對象,相當于組件中?data?的全局版本。

? ? ? ?基本用法:

const store = new Vuex.Store({state: {count: 0,              // 基礎類型user: { name: 'John' }, // 對象類型todos: ['Learn Vuex']   // 數組類型}
})

? ? 組件中訪問?state:通過?this.$store.state.xxx?直接訪問:

// 組件中
export default {counted() {console.log(this.$store.state.count) // 輸出 0console.log(this.$store.state.user.name) // 輸出 'John'}
}

3.?mapState:映射?state?到組件的輔助函數

mapState?是 Vuex 提供的輔助函數,用于將?store.state?中的屬性映射到組件的計算屬性(computed)中,簡化代碼。當組件需要訪問多個?state?屬性時,避免重復編寫?this.$store.state.xxx

  • 數組形式(適用于屬性名與?state?中一致):

import { mapState } from 'vuex';export default {computed: {...mapState(['count', 'auditObj']) 
}

上面等同于

export default {computed: {count() {return this.$store.state.count; // 重復寫 this.$store.state},user() {return this.$store.state.auditObj; // 重復寫 this.$store.state}}
}
  • 對象形式(適用于需要重命名或復雜映射):
export default {computed: {...mapState({myCount: 'count'})}
}

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

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

相關文章

【ProtoBuf】以 “數據秘語” 筑聯絡:通訊錄項目實戰 1.0 啟步札記

文章目錄引言筑路之備&#xff1a;快速上手ProtoBuf步驟一&#xff1a;創建.proto文件?件規范添加注釋指定 proto3 語法package 聲明符定義消息&#xff08;message&#xff09;定義消息字段【定義聯系人 message】字段唯一編號的范圍步驟2&#xff1a;編譯 contacts.proto ?…

在 macOS 下升級 Python 幾種常見的方法

在 macOS 下升級 Python 有幾種常見的方法&#xff0c;具體取決于你最初是如何安裝 Python 的。了解你的安裝方式是關鍵。 首先&#xff0c;你需要知道你當前 Python 版本以及它的安裝路徑。 檢查 Python 版本&#xff1a; python --version # 可能指向 Python 2.x python3 …

Linux 入門到精通,真的不用背命令!零基礎小白靠「場景化學習法」,3 個月拿下運維 offer,第二十五天

三、Shell腳本編程 Shell腳本語言的運算 算數運算 shell支持算術運算&#xff0c;但只支持整數&#xff0c;不支持小數 Bash中的算術運算 -- 加法運算 -- - 減法運算 -- * 乘法運算 -- / 除法運算 -- % 取模&#xff0c;即取余數 -- ** 乘方 ? #乘法符號在有些場景需要轉…

SpringAI系列---【多租戶記憶和淘汰策略】

1.多租戶工作原理 2.引入jdbc的pom spring官網鏈接&#xff1a;https://docs.spring.io/spring-ai/reference/api/chat-memory.html&#xff0c;推薦使用官網的jdbc。 阿里巴巴ai鏈接&#xff1a;https://github.com/alibaba/spring-ai-alibaba/tree/main/community/memories j…

Linux gzip 命令詳解:從基礎到高級用法

Linux gzip 命令詳解&#xff1a;從基礎到高級用法 在 Linux 系統中&#xff0c;文件壓縮與解壓縮是日常運維和文件管理的常見操作。gzip&#xff08;GNU Zip&#xff09;作為一款經典的壓縮工具&#xff0c;憑借其高效的壓縮算法和簡潔的使用方式&#xff0c;成為 Linux 用戶處…

Redis有什么優點和缺點?

優點&#xff1a;極致性能&#xff1a; 基于內存操作和高效的單線程 I/O 模型&#xff0c;讀寫速度極快。數據結構豐富&#xff1a; 支持多種數據結構&#xff0c;如 String、Hash、List、Set、ZSet、Stream、Geo 等&#xff0c;編程模型靈活。持久化與高可用&#xff1a; 提供…

NestJS 3 分鐘搭好 MySQL + MongoDB,CRUD 復制粘貼直接運行

基于上一篇內容《為什么現代 Node 后端都選 NestJS TypeScript&#xff1f;這組合真香了》&#xff0c;這篇文章繼續寫數據庫的連接。 所以今天把MySQL、MongoDB全接上&#xff0c;做個小實例。朋友們項目里用什么數據庫可以視情況而定。 這里的功能分別為&#xff1a; MySQ…

用了企業微信 AI 半年,這 5 個功能讓我徹底告別重復勞動

每天上班不是在整理會議紀要&#xff0c;就是在翻聊天記錄找文件&#xff0c;寫文檔還要自己摳數據…… 這些重復勞動是不是也在消耗你的時間&#xff1f;作為用了企業微信 AI 功能半年的 “老用戶”&#xff0c;我必須說&#xff1a;企業微信 AI 的這 5 個功能&#xff0c;真的…

從入門到高手,Linux就應該這樣學【好書推薦】

從入門到高手&#xff0c;請這樣學Linux 一、Linux基礎與終端操作 1.1 Linux簡介 Linux 是一種開源的類 Unix 操作系統&#xff0c;以其穩定性、安全性和高效性被廣泛應用于服務器、嵌入式系統及開發環境中。掌握基本命令和操作技巧是 Linux 學習的關鍵。 1.2 終端基礎 打開…

【數據可視化-104】安徽省2025年上半年GDP數據可視化分析:用Python和Pyecharts打造炫酷大屏

&#x1f9d1; 博主簡介&#xff1a;曾任某智慧城市類企業算法總監&#xff0c;目前在美國市場的物流公司從事高級算法工程師一職&#xff0c;深耕人工智能領域&#xff0c;精通python數據挖掘、可視化、機器學習等&#xff0c;發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN…

組件庫UI自動化

一、背景 背景&#xff1a; 組件庫全局改動場景多&#xff0c;組件之間耦合場景多–時常需要全場景回歸組件庫demo有200多個&#xff0c;手動全局回歸耗時耗力細微偏差純視覺無法辨別 可行性分析&#xff1a; 組件庫功能占比 L1&#xff08;視覺層&#xff09;&#xff1a;圖片…

面試題:JVM與G1要點總結

一.Java內存區域 1.運行時數據區的介紹 2.站在線程的角度看Java內存區域 3.深入分析堆和棧的區別 4.方法的出入棧和棧上分配、逃逸分析及TLAB 5.虛擬機中的對象創建步驟 6.對象的內存布局 1.運行時數據區的介紹 運行時數據區的類型&#xff1a;程序計數器、Java虛擬機棧、本地方…

車輛安全供電系統開發原則和實踐

摘要在汽車行業中&#xff0c;安全應用的重要性在不斷提升&#xff0c;例如受車輛自動化發展以及機械備用系統重要性降低的影響。為應對這些趨勢&#xff0c;安全相關的電氣和 / 或電子系統&#xff08;E/E 系統&#xff09;的電源輸入必須由供電系統來保障&#xff0c;這使得功…

WebSocket客戶端庫:websocket-fruge365

&#x1f680; 從零開始打造一個WebSocket客戶端庫&#xff1a;websocket-fruge365 &#x1f4d6; 前言 在現代Web開發中&#xff0c;實時通信已經成為不可或缺的功能。無論是聊天應用、實時數據監控&#xff0c;還是在線協作工具&#xff0c;WebSocket都扮演著重要角色。然而…

rocketmq批量執行跑批任務報錯

rocketmq批量執行跑批任務&#xff0c;報下面的錯誤&#xff0c;怎么處理一下呢&#xff1f;是修改配置還是修改代碼還是&#xff1f; org.apache.rocketmq.client.exception.MQBrokerException: CODE: 215 DESC: [FLOW]client has exhausted the send quota for the current …

大語言模型(LLM)簡介與應用分享

1. 什么是大語言模型&#xff08;LLM&#xff09; 大語言模型&#xff08;Large Language Model&#xff0c;簡稱 LLM&#xff09;是基于 深度學習 和 海量文本數據 訓練而成的人工智能模型。 采用 Transformer 架構參數規模巨大&#xff08;數十億到數千億&#xff09;能夠 理…

【算法筆記】選擇排序、插入排序、冒泡排序、二分查找問題

算法的筆記&#xff0c;直接上代碼&#xff0c;思路和問題這些&#xff0c;都在代碼注釋上面 1、工具類 為了生成測試代碼和比較器&#xff0c;專門寫了一個數組工具類&#xff0c;代碼如下&#xff1a; /*** 數組工具類*/ public class ArrUtil {/*** 生成隨機數組* 長度是[0,…

行業分享丨基于SimSolid的大型汽車連續沖壓模具剛度分析

*本文投稿自機械零部件制造業用戶 汽車連續模具的剛度直接決定了沖壓件質量&#xff08;尺寸精度、表面缺陷&#xff09;與模具壽命。傳統有限元分析&#xff08;FEA&#xff09;在面對大型復雜模具裝配體時&#xff0c;存在網格劃分困難、計算資源消耗大、周期長等瓶頸。本文以…

用AI生成的html頁面設計放到到Axure上實現再改造的方法

要將 AI 生成的 HTML 原型導入 Axure&#xff0c;該方法的核心邏輯是以 Figma 為 “中間橋梁”&#xff08;因 Axure 無法直接讀取 HTML&#xff0c;需通過 Figma 轉換格式&#xff09;&#xff0c;分 3 步即可完成&#xff0c;以下是詳細操作指南&#xff08;含每步目標、具體…

從入門到實戰:Linux sed命令全攻略,文本處理效率翻倍

從入門到實戰&#xff1a;Linux sed命令全攻略&#xff0c;文本處理效率翻倍 文章目錄從入門到實戰&#xff1a;Linux sed命令全攻略&#xff0c;文本處理效率翻倍一、認識sed&#xff1a;什么是流編輯器&#xff1f;二、吃透sed工作原理&#xff1a;為什么它能高效處理文本&am…