vue3 中可緩存的方法

場景:在列表中,有這么一個屬性,需要通過同行的其他屬性,進行復雜的計算,才能得出,如果我們用方法,然后傳參,得到這個屬性,那么每次更改列表后,每行都會重新計算,耗費性能。如果我們有一個可緩存的方法,在參數沒有改變的時候,返回之前得到的緩存結果。只有在參數改變的時候,重新計算。

我們可以構建一個工具函數,將計算函數作為參數,會返回一個帶緩存的函數。如下 useComputed.js:

// useComputed.js
import { computed } from "vue";export function useComputed(fn) {const cache = new Map();function getCache(args) {return cache.get(JSON.stringify(args));}return function (...args) {const cacheResult = getCache(args);if (cacheResult) {return cacheResult;}const result = computed(() => fn(...args));cache.set(JSON.stringify(args), result);return result;};
}

使用:

<template> {{ computedPrice(row) }} </template><script setup>import { useComputed } from "./useComputed.js";function totalPrice(row) {return row.price * row.count;}const computedPrice = useComputed(totalPrice);
</script>

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

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

相關文章

WordPress plugin MStore API SQL注入漏洞復現(CVE-2023-3077)

0x01 產品簡介 WordPress和WordPress plugin都是WordPress基金會的產品。WordPress是一套使用PHP語言開發的博客平臺。該平臺支持在PHP和MySQL的服務器上架設個人博客網站。WordPress plugin是一個應用插件。 0x02 漏洞概述 WordPress plugin MStore API 3.9.8 版本之前存在S…

Linux 深入講解自動化構建工具

各位大佬好 &#xff0c;這里是阿川的博客 &#xff0c; 祝您變得更強 個人主頁&#xff1a;在線OJ的阿川 大佬的支持和鼓勵&#xff0c;將是我成長路上最大的動力 阿川水平有限&#xff0c;如有錯誤&#xff0c;歡迎大佬指正 Linux一系列的文章&#xff08;質量分均在93分…

配置arduino和ESP8266

首先準備好arduino 的IDE和ESP8266的驅動以及板子 1.安裝驅動&#xff0c;雙擊x64的版本驅動&#xff0c;安裝好以后&#xff0c;在資源管理器檢查端口&#xff0c;比如下下圖出現的COM4就是esp8266所使用的端口 2.安裝好arduino最好不要在路徑中存在中文符號&#xff0c;打開…

水滴式粉碎機:多功能飼料粉碎設備

飼料粉碎機是一種專門用于將各種飼料原料進行粉碎處理的機械設備。無論是玉米、小麥等谷物&#xff0c;還是豆粕、魚粉等動物性原料&#xff0c;甚至是一些粗纖維含量較高的秸稈、牧草等&#xff0c;都可以經過飼料粉碎機的處理&#xff0c;變成適合畜禽消化吸收的精細飼料。這…

521源碼-游戲源碼-2024卡牌回合自走棋手游《夢間集》推出全新Linux手工服務端

首款稀有卡牌回合自走棋手游《夢間集》推出全新Linux手工服務端整理 更多網站源碼&#xff0c;游戲源碼&#xff0c;學習教程&#xff0c;請點擊&#x1f449;-521源碼-&#x1f448;獲取最新資源 本游戲下載地址&#xff1a;2024卡牌回合自走棋手游《夢間集》推出全新Linux手…

【再探】設計模式—中介者模式、觀察者模式及模板方法模式

中介者模式讓多對多的復雜引用關系變成一對多&#xff0c;同時能通過中間類來封裝多個類中的行為&#xff0c;觀察者模式在目標狀態更新時能自動通知給訂閱者&#xff0c;模版方法模式則是控制方法的執行順序&#xff0c;子類在不改變算法的結構基礎上可以擴展功能實現。 1 中…

003 MySQL

文章目錄 左外連接、右外連接 的區別where/having的區別執行順序聚合 聚合函數MySQL約束事務一致性一致性的含義一致性在事務中的作用如何維護一致性 存儲引擎 Innodb MyIsam區別事務的ACID屬性數據庫的隔離級別MySQL中的并發問題1. 鎖等待和死鎖2. 并發沖突3. 臟讀、不可重復讀…

理解接口回調及其在 RabbitMQ 中的實際運用

介紹 接口回調是一種常見的編程模式&#xff0c;它在異步編程中發揮著重要作用。本文將通過一個簡單的示例介紹接口回調的概念和原理&#xff0c;并探討它在 RabbitMQ 中的實際應用。 接口回調的概念 接口回調是一種編程模式&#xff0c;用于在異步編程中實現回調機制。它允許…

ChatGPT AI專題資料合集【65GB】

介紹 ChatGPT & AI專題資料合集【65GB】 &#x1f381;【七七云享】資源倉庫&#xff0c;海量資源&#xff0c;無償分享√

stm32和esp32硬件資源上有什么區別 哪個更適合初學者

對于初學者來說&#xff0c;ESP32和STM32都有各自的優點和適用場景&#xff0c;但通常ESP32被認為是更適合初學者的選擇&#xff0c;原因如下&#xff1a; 內置無線通信&#xff1a;ESP32集成了WiFi和藍牙功能&#xff0c;這意味著初學者可以更容易地構建無線通信應用&#xff…

文件系統小冊(FusePosixK8s csi)【1 Fuse】

文件系統小冊&#xff08;Fuse&Posix&K8s csi&#xff09;【1 Fuse&#xff1a;用戶空間的文件系統】 Fuse(filesystem in userspace),是一個用戶空間的文件系統。通過fuse內核模塊的支持&#xff0c;開發者只需要根據fuse提供的接口實現具體的文件操作就可以實現一個文…

【測評|白嫖】雨云寧波新區,2C4G200M,公測期間全免費!

雨云香港三區云服務器&#xff0c;高性能的 Xeon Platinum 處理器 企業級 NVME SSD 高性能云服務器。 一鍵白嫖鏈接&#xff1a;https://www.rainyun.com 本篇純測評&#xff0c;無任何廣告&#xff0c;請放心食用&#xff01;&#xff01; 本次測評服務器配置如下&#xff1…

用萬界星空科技低代碼平臺能快速搭建一個云MES系統

一、低代碼平臺與MES:智能制造的新篇章 隨著工業4.0和智能制造的興起&#xff0c;企業對于生產過程的數字化、智能化需求日益迫切。傳統的MES系統實施周期長、成本高&#xff0c;成為許多企業數字化轉型的瓶頸。而低代碼開發平臺的出現為這一問題提供了新的解決思路。 二、萬界…

linux可觀測性ebpf(一) ----------- 環境搭建

參考書籍 開發環境 Ubuntu 18.04.6 LTS (GNU/Linux 5.4.0-150-generic x86_64) 1.1 下載內核源碼 cd /usr/src/ sudo git clone -b v5.4 https://github.com/torvalds/linux.git1.2 下載書中代碼 git clone https://github.com/bpftools/linux-observability-with-bpf1.3 編…

海外媒體通稿:9個極具創意的旅游業媒體推廣案例分享-華媒舍

如今&#xff0c;旅游業正迅速發展&#xff0c;媒體推廣成為吸引游客的關鍵。為了更好地展示旅游目的地&#xff0c;許多創意而富有創新的媒體推廣策略應運而生。本文將介紹九個極富創意的旅游業媒體推廣案例&#xff0c;為廣大從業者帶來靈感和借鑒。 1. 視頻系列&#xff1a;…

【Python面試題收錄】Python的GIL機制

Python中的全局解釋器鎖&#xff08;Global Interpreter Lock&#xff0c;簡稱GIL&#xff09;&#xff0c;同一進程中假如有多個線程運行&#xff0c;一個線程在運行python程序的時候會霸占python解釋器&#xff08;加了一把鎖即GIL&#xff09;&#xff0c;使該進程內的其他線…

4. MySQL 約束

文章目錄 【 1. 主鍵約束 PRIMARY KEY 】1.1 在創建表時設置主鍵約束設置單字段主鍵在創建表時設置聯合主鍵 1.2 在修改表時添加主鍵約束1.3 刪除主鍵約束1.4 主鍵自增長 AUTO_INCREMENT指定自增字段初始值自增字段不連續 【 2. 外鍵約束 FOREIGN KEY 】2.1 在創建表時設置外鍵…

Mybatis數據加密解密

文章目錄 Mybatis數據加密解密一、自定義注解二、自定義參數處理攔截器結果集攔截器加密解密 Mybatis數據加密解密 方案一&#xff1a;Mybatis攔截器之數據加密解密【Interceptor】 攔截器介紹 Mybatis Interceptor 在 Mybatis 中被當作 Plugin(插件)&#xff0c;不知道為什么…

ARM32開發——LED點燈

&#x1f3ac; 秋野醬&#xff1a;《個人主頁》 &#x1f525; 個人專欄:《Java專欄》《Python專欄》 ??心若有所向往,何懼道阻且長 文章目錄 點燈的兩種方式灌入電流法輸出電流法擴展板點燈點燈方式點亮LED1-4完整實現 點燈的兩種方式 不同顏色LED&#xff0c;達到相同亮度…

[數據集][目標檢測]貓狗檢測數據集VOC+YOLO格式8291張2類別

數據集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路徑的txt文件&#xff0c;僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件) 圖片數量(jpg文件個數)&#xff1a;8291 標注數量(xml文件個數)&#xff1a;8291 標注數量(txt文件個數)&#xff1a;8291 標注…