国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue3 store倉(cāng)庫(kù)數(shù)據(jù)間流轉(zhuǎn) Vuex4 + Pinia

這篇具有很好參考價(jià)值的文章主要介紹了Vue3 store倉(cāng)庫(kù)數(shù)據(jù)間流轉(zhuǎn) Vuex4 + Pinia。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

上文 講了vue2數(shù)據(jù)流轉(zhuǎn)處理的方法 這文講講vue3

Vuex

在 Vue 3 中 可以使用 Vuex 4 來(lái)進(jìn)行狀態(tài)管理和存取數(shù)據(jù)。
1 創(chuàng)建一個(gè) store 實(shí)例

// store.js

import { createStore } from 'vuex';

const store = createStore({
  state() {
    return {
      data: null // 初始化數(shù)據(jù)為空
    };
  },
  mutations: {
  	// 操作數(shù)據(jù)
    setData(state, payload) {
      state.data = payload; // 設(shè)置數(shù)據(jù)
    }
  },
  actions: {
  	// 觸發(fā)mutations
    fetchData({ commit }) {
      // 模擬異步獲取數(shù)據(jù)
      setTimeout(() => {
        const newData = '這是新的數(shù)據(jù)'; // 模擬獲取的數(shù)據(jù)
        commit('setData', newData); // 調(diào)用 mutation 設(shè)置數(shù)據(jù)
      }, 1000);
    }
  },
  getters: {
  	//簡(jiǎn)化數(shù)據(jù)
    getData(state) {
      return state.data; // 獲取數(shù)據(jù)
    }
  }
});

export default store;

2 在 main.js 中引入并掛載 store:

import { createApp } from 'vue';
import App from './App.vue';
import store from './store';

createApp(App).use(store).mount('#app');

3 在組件中訪問(wèn)和修改數(shù)據(jù):
*** 在 Vue 3 中使用 Vuex 進(jìn)行數(shù)據(jù)的存取和修改。state 存儲(chǔ)數(shù)據(jù),mutations 修改數(shù)據(jù),actions 異步操作和提交 mutations,getters 獲取數(shù)據(jù)。***

import { computed } from 'vue';
import { useStore } from 'vuex';

export default {
  setup() {
    const store = useStore();

    // 獲取數(shù)據(jù)
    const data = computed(() => store.getters.getData);

    // 修改數(shù)據(jù)
    const updateData = () => {
      const newData = '這是更新后的數(shù)據(jù)';
      store.commit('setData', newData);
    };

    // 異步獲取數(shù)據(jù)
    const fetchData = () => {
    	// dispatch 觸發(fā)actions方法函數(shù)
      store.dispatch('fetchData');
    };

    return {
      data,
      updateData,
      fetchData
    };
  }
};
Pinia配置式api寫法

1 創(chuàng)建一個(gè) Pinia store 實(shí)例

// store.js

import { defineStore } from 'pinia';

export const useStore = defineStore('store', {
  state() {
    return {
      data: null // 初始化數(shù)據(jù)為空
    };
  },
  actions: {
    updateData(newData) {
      this.data = newData; // 更新數(shù)據(jù)
    }
  }
});

2 在 main.js 中引入并掛載 Pinia:

import { createApp } from 'vue';
import App from './App.vue';
import { createPinia } from 'pinia';

const app = createApp(App);
const pinia = createPinia();
app.use(pinia);
app.mount('#app');

3 在組件中訪問(wèn)和修改數(shù)據(jù):

import { computed } from 'vue';
import { useStore } from 'pinia';

export default {
  setup() {
    const store = useStore();

    // 獲取數(shù)據(jù)
    const data = computed(() => store.data);

    // 修改數(shù)據(jù)
    const updateData = () => {
      const newData = '這是更新后的數(shù)據(jù)';
      store.updateData(newData);
    };

    return {
      data,
      updateData
    };
  }
};
Pinia 組合式api 寫法

pinia 省略了mutations操作 語(yǔ)法更加簡(jiǎn)潔 也是vue數(shù)據(jù)倉(cāng)庫(kù)的趨勢(shì)
1 創(chuàng)建一個(gè) Pinia store 實(shí)例

// store.js

import { createPinia } from 'pinia';

export const store = createPinia();

store.state({
  data: null // 初始化數(shù)據(jù)為空
});

2 在 main.js 中引入并掛載 Pinia:

import { createApp } from 'vue';
import App from './App.vue';
import { store } from './store';

createApp(App).use(store).mount('#app');

3 在組件中訪問(wèn)和修改數(shù)據(jù):

import { computed } from 'vue';
import { useStore } from 'pinia';

export default {
  setup() {
    const store = useStore();

    // 獲取數(shù)據(jù)
    const data = computed(() => store.state.data);

    // 修改數(shù)據(jù)
    const updateData = () => {
      const newData = '這是更新后的數(shù)據(jù)';
      store.state.data = newData;
    };

    return {
      data,
      updateData
    };
  }
};

前端 提供的是一份數(shù)字化的產(chǎn)品 而基礎(chǔ)便是數(shù)據(jù)
對(duì)于數(shù)據(jù)的處理確實(shí)是前端開(kāi)發(fā)中重要一環(huán)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-623251.html

到了這里,關(guān)于Vue3 store倉(cāng)庫(kù)數(shù)據(jù)間流轉(zhuǎn) Vuex4 + Pinia的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Vue】VueX倉(cāng)庫(kù)

    【Vue】VueX倉(cāng)庫(kù)

    ??? ??????個(gè)人主頁(yè):五敷有你? ? ?? ???系列專欄:Vue ??穩(wěn)中求進(jìn),曬太陽(yáng) 目錄 Vue概述 是什么 場(chǎng)景: 優(yōu)勢(shì) 構(gòu)建多組件共享環(huán)境 創(chuàng)建一個(gè)空倉(cāng)庫(kù) 核心概念 - state 狀態(tài) 1. 提供數(shù)據(jù) 2.使用數(shù)據(jù) ?編輯 通過(guò)輔助函數(shù)(簡(jiǎn)化) 核心概念 - mutations 步驟: 傳參: 輔助函數(shù)

    2024年03月13日
    瀏覽(24)
  • vue3中使用vuex

    vue3中使用vuex

    最近發(fā)現(xiàn)自己遺忘了一些東西,所以就去惡補(bǔ)了一下vuex的使用,結(jié)果還行還用有點(diǎn)變化的,vue3中使用vuex和vue2中完全不一樣,vue3中必須使用vuex4 vuex官網(wǎng) 官方解釋 Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的 狀態(tài)管理模式 + 庫(kù) 。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以

    2024年01月19日
    瀏覽(18)
  • vue3.2中的vuex使用

    vue3.2中的vuex使用

    Vuex 中有以下幾個(gè)核心概念: State:應(yīng)用程序的狀態(tài)存儲(chǔ)在單一的狀態(tài)樹(shù)中,即 State。State 可以通過(guò) store.state 屬性訪問(wèn)。 Mutation:狀態(tài)的變化必須通過(guò)提交 Mutation 來(lái)進(jìn)行。Mutation 是一個(gè)包含 type 和 payload 屬性的對(duì)象,type 是 Mutation 的類型,payload 是 Mutation 的有效負(fù)載。Mutat

    2023年04月11日
    瀏覽(25)
  • Vue3 store+pinia 基本使用

    pinia是一個(gè) 狀態(tài)管理的庫(kù) ,用于 跨組件、頁(yè)面進(jìn)行狀態(tài)共享 (這和Vuex、Redux一樣),用起來(lái)像組合式API Pinia和Vuex有什么區(qū)別 1、PInia的最初是為了探索Vuex的下一次迭代會(huì)是什么樣子,結(jié)合了Vuex核心團(tuán)隊(duì)討論中的許多想法; 2、最終,團(tuán)隊(duì)意識(shí)到Pinia已經(jīng)實(shí)現(xiàn)了Vuex5中大部分內(nèi)

    2024年02月07日
    瀏覽(39)
  • Vue2向Vue3過(guò)度Vuex核心概念mutations

    Vue2向Vue3過(guò)度Vuex核心概念mutations

    1.定義mutations 2.格式說(shuō)明 mutations是一個(gè)對(duì)象,對(duì)象中存放修改state的方法 3.組件中提交 mutations 4.練習(xí) 1.在mutations中定義個(gè)點(diǎn)擊按鈕進(jìn)行 +5 的方法 2.在mutations中定義個(gè)點(diǎn)擊按鈕進(jìn)行 改變title 的方法 3.在組件中調(diào)用mutations修改state中的值 5.總結(jié) 通過(guò)mutations修改state的步驟 1.定義

    2024年02月11日
    瀏覽(49)
  • vue2+webpack升級(jí)vue3+vite,在vue3組合式編程中使用vuex

    同學(xué)們可以私信我加入學(xué)習(xí)群! 我的項(xiàng)目是從vue2+webpack升級(jí)為vue3+vite,這種升級(jí)工作,其實(shí)最重要的不是如何快速準(zhǔn)確地把原有vue2項(xiàng)目全部重構(gòu)為vue3項(xiàng)目,因?yàn)檫@是不現(xiàn)實(shí)的。 升級(jí)工作一定是一個(gè)長(zhǎng)久的持續(xù)過(guò)程,所以如何保證舊的vue2項(xiàng)目與新的vue3模塊之間互相兼容,才

    2024年01月18日
    瀏覽(31)
  • vue2(Vuex)、vue3(Pinia)、react(Redux)狀態(tài)管理

    vue2(Vuex)、vue3(Pinia)、react(Redux)狀態(tài)管理

    Vuex 是一個(gè)專為 Vue.js應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式。它使用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),以及規(guī)則保證狀態(tài)只能按照規(guī)定的方式進(jìn)行修改。 State(狀態(tài)) :Vuex 使用單一狀態(tài)樹(shù),即一個(gè)對(duì)象包含全部的應(yīng)用層級(jí)狀態(tài)。這個(gè)狀態(tài)樹(shù)對(duì)應(yīng)著一個(gè)應(yīng)用中的所有狀態(tài)。 Gett

    2024年01月23日
    瀏覽(27)
  • vue3 實(shí)現(xiàn)監(jiān)聽(tīng)store里state狀態(tài)變化

    需要注意: 不能直接監(jiān)聽(tīng)對(duì)象的屬性值,需要寫成getter函數(shù)。 總結(jié): watch 的第一個(gè)參數(shù)可以是不同形式的數(shù)據(jù)源,它可以是一個(gè)ref(包括計(jì)算屬性),一個(gè)響應(yīng)式對(duì)象,一個(gè)getter函數(shù),或多個(gè)數(shù)據(jù)源組成的數(shù)組。 不能直接監(jiān)聽(tīng)響應(yīng)式對(duì)象的屬性: 這里需要寫成返回對(duì)象屬

    2024年02月17日
    瀏覽(19)
  • vue3中使用route、router、store的方式

    route: ?(1) vue3寫法: ?(2) vue2寫法: ?router: ?(1) vue3寫法: ?(2) vue2寫法: ?store: ?(1) vue3寫法: ?(2) vue2寫法:

    2024年02月13日
    瀏覽(45)
  • vue3中監(jiān)聽(tīng),組件通信如父子傳值、Vuex、Event Bus的使用

    目錄 一、監(jiān)聽(tīng) 二、父子傳值: 1、父?jìng)髯樱?2、子傳父 三、全局狀態(tài)管理(Vuex): 四、事件總線(Event Bus): 我們有一個(gè)父組件ParentComponent和一個(gè)子組件ChildComponent。在父組件中,我們使用:childProp=\\\"parentData\\\"將數(shù)據(jù)傳遞給子組件。在子組件中,我們使用defineProps來(lái)接收父組件

    2024年02月13日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包