vue的狀態(tài)庫管理實現(xiàn)示例
Vuex 和 Pinia 均是 Vue.js 的狀態(tài)管理庫,它們?yōu)?Vue 應(yīng)用程序提供了一種集中式的、可預(yù)測的狀態(tài)管理解決方案。
Vuex 是 Vue.js 官方推薦的狀態(tài)管理庫之一。它的核心概念包括 state、mutation、action 和 getter。其中,state 代表應(yīng)用程序的狀態(tài)數(shù)據(jù),在 Vuex 中存儲為唯一的來源,mutation 用于修改狀態(tài)數(shù)據(jù)并確保數(shù)據(jù)變化的可追蹤性,action 用于處理異步操作或組合多個 mutation 操作,getter 可以讓我們對 state 進行計算和派生,并使其變得更加易于訪問。一個 Vuex store 實例是一個全局 JavaScript 對象,可以在所有組件中通過注入來進行訪問和操作。
安裝、引入Pinia
安裝:npm install pinia 或 yarn add pinia引入注冊:
Vue3的引入方法main.
app.vue
<template>
<div>pinia-current:{{ Test.current }}</div>
<div>pinia-name:{{ Test.name }}</div>
</template>
<script setup lang="ts">
import { useTestStore } from "./store";
const Test = useTestStore();
</script>
<style lang="scss" scoped></style>
批量修改工廠函數(shù)形式
推薦使用函數(shù)形式 可以自定義修改邏輯
<template>
<div>pinia-current:{{ Test.current }}</div>
<div>pinia-name:{{ Test.name }}</div>
<div style="display: flex; flex-direction: column">
<button @click="funChange">工廠函數(shù)實現(xiàn)批量change</button>
</template>
<script setup lang="ts">
import { useTestStore } from "./store";
const Test = useTestStore();
const funChange = () => {
Test.$patch((state) => {
(state.current = 999), (state.name = "小3");
});
};
</script>
<style lang="scss" scoped></style>到此這篇關(guān)于vue的狀態(tài)庫管理實現(xiàn)示例的文章就介紹到這了,更多相關(guān)vue 狀態(tài)庫管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項目預(yù)覽excel表格功能(file-viewer插件)
這篇文章主要介紹了vue項目預(yù)覽excel表格功能(file-viewer插件),本文分步驟結(jié)合實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-10
解決vue中使用swiper插件問題及swiper在vue中的用法
Swiper是純javascript打造的滑動特效插件,面向手機、平板電腦等移動終端。這篇文章主要介紹了解決vue中使用swiper插件及swiper在vue中的用法,需要的朋友可以參考下2018-04-04
使用elementUI實現(xiàn)將圖片上傳到本地的示例
今天小編就為大家分享一篇使用elementUI實現(xiàn)將圖片上傳到本地的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

