最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3中的createGlobalState用法及示例詳解

 更新時(shí)間:2024年10月31日 09:20:40   作者:碼農(nóng)研究僧  
createGlobalState 是 Vue 3 中一種管理全局狀態(tài)的簡(jiǎn)便方式,通常用于管理多個(gè)組件間共享的狀態(tài),由 @vueuse/core 提供的,允許創(chuàng)建一個(gè)響應(yīng)式的全局狀態(tài),本文給大家介紹了Vue3中的createGlobalState用法及示例,需要的朋友可以參考下

1. 基本知識(shí)

createGlobalState 是 Vue 3 中一種管理全局狀態(tài)的簡(jiǎn)便方式,通常用于管理多個(gè)組件間共享的狀態(tài)

由 @vueuse/core 提供的,允許創(chuàng)建一個(gè)響應(yīng)式的全局狀態(tài),可以在任意組件中訪(fǎng)問(wèn)和更新

基本的特性如下:

  • 響應(yīng)式:狀態(tài)是響應(yīng)式的,任何組件對(duì)狀態(tài)的訪(fǎng)問(wèn)和修改都會(huì)觸發(fā)相應(yīng)的更新
  • 簡(jiǎn)單易用:通過(guò)簡(jiǎn)單的 API 可以創(chuàng)建和管理全局狀態(tài)
  • 模塊化:可以根據(jù)需要將狀態(tài)邏輯分離到不同的模塊中
特性有 createGlobalState沒(méi)有 createGlobalState
全局狀態(tài)管理方便、簡(jiǎn)單復(fù)雜,通常需要手動(dòng)管理狀態(tài)傳遞
響應(yīng)式自動(dòng)響應(yīng)式更新需要使用 Vuex 或 EventBus 等手動(dòng)實(shí)現(xiàn)
代碼可讀性更清晰、更簡(jiǎn)潔代碼可能更加混亂
模塊化可以方便地組織全局狀態(tài)通常需要復(fù)雜的狀態(tài)管理邏輯

需要確保安裝了 @vueuse/core:

2. Demo

一般與 useStorage 一起存儲(chǔ)在 localStorage 中比較好,否則刷新網(wǎng)頁(yè)鏈接的時(shí)候會(huì)丟失的!

以下是沒(méi)有存儲(chǔ)到localStorage的Demo

相關(guān)的Demo如下:

src/globalState.js,定義全局狀態(tài):

// src/globalState.js
import { createGlobalState } from '@vueuse/core';
import { reactive } from 'vue';

// 創(chuàng)建全局狀態(tài)
export const useGlobalState = createGlobalState(() => {
  return reactive({
    count: 0
  });
});

MyDemoComponent.vue 中使用全局狀態(tài):

<template>
  <div>
    <h2>全局計(jì)數(shù)器</h2>
    <p>當(dāng)前計(jì)數(shù): {{ globalState.count }}</p>
    <button @click="increment">增加計(jì)數(shù)</button>
  </div>
</template>

<script>
import { useGlobalState } from '../globalState';

export default {
  setup() {
    const globalState = useGlobalState();

    const increment = () => {
      globalState.count++;
    };

    return {
      globalState,
      increment
    };
  }
};
</script>

確保在 App.vue 中使用新的組件:

<template>
  <div id="app">
    <MyDemoComponent />
  </div>
</template>

<script>
import MyDemoComponent from './components/MyDemoComponent.vue';

export default {
  components: {
    MyDemoComponent
  }
};
</script>

最終截圖如下:

也給一版沒(méi)有使用的Demo:

可能會(huì)使用一個(gè)簡(jiǎn)單的 EventBus 或 Vuex 來(lái)管理全局狀態(tài),示例可能如下:

// src/eventBus.js
import { reactive } from 'vue';
import { createApp } from 'vue';

const state = reactive({
  count: 0
});

const eventBus = createApp({});

export const useEventBus = () => {
  return {
    state,
    increment: () => {
      state.count++;
      eventBus.config.globalProperties.$emit('update');
    }
  };
};

在 MyDemoComponent.vue 中:

<template>
  <div>
    <h2>全局計(jì)數(shù)器</h2>
    <p>當(dāng)前計(jì)數(shù): {{ eventBus.state.count }}</p>
    <button @click="increment">增加計(jì)數(shù)</button>
  </div>
</template>

<script>
import { useEventBus } from '../eventBus';

export default {
  setup() {
    const eventBus = useEventBus();

    return {
      eventBus,
      increment: eventBus.increment
    };
  }
};
</script>

到此這篇關(guān)于Vue3中的createGlobalState用法及示例詳解的文章就介紹到這了,更多相關(guān)Vue3 createGlobalState用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談VueJS SSR 后端繪制內(nèi)存泄漏的相關(guān)解決經(jīng)驗(yàn)

    淺談VueJS SSR 后端繪制內(nèi)存泄漏的相關(guān)解決經(jīng)驗(yàn)

    這次我想給大家介紹的內(nèi)存泄漏的定位方法,并非工具的使用。而是一些經(jīng)驗(yàn)的總結(jié),也就是我所知道的 VueJS SSR 中最容易出現(xiàn)內(nèi)存泄漏的地方,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-12-12
  • axios異步提交表單數(shù)據(jù)的幾種方法

    axios異步提交表單數(shù)據(jù)的幾種方法

    這篇文章主要給大家介紹了關(guān)于axios異步提交表單數(shù)據(jù)的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位大家學(xué)習(xí)或者使用axios具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue組件間通信解析

    vue組件間通信解析

    這篇文章主要為大家詳細(xì)介紹了vue組件間通信解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 完美解決axios在ie下的兼容性問(wèn)題

    完美解決axios在ie下的兼容性問(wèn)題

    下面小編就為大家分享一篇完美解決axios在ie下的兼容性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 前端框架Vue父子組件數(shù)據(jù)雙向綁定的實(shí)現(xiàn)

    前端框架Vue父子組件數(shù)據(jù)雙向綁定的實(shí)現(xiàn)

    Vue項(xiàng)目中經(jīng)常使用到組件之間的數(shù)值傳遞,實(shí)現(xiàn)的方法很多,但是原理上基本大同小異。這篇文章將給大家介紹Vue 父子組件數(shù)據(jù)單向綁定與Vue 父子組件數(shù)據(jù)雙向綁定的對(duì)比從而認(rèn)識(shí)雙向綁定
    2021-09-09
  • Vue.js集成Word實(shí)現(xiàn)在線(xiàn)編輯功能

    Vue.js集成Word實(shí)現(xiàn)在線(xiàn)編輯功能

    在現(xiàn)代Web應(yīng)用中,集成文檔編輯功能變得越來(lái)越常見(jiàn),特別是在協(xié)作環(huán)境中,能夠直接在Web應(yīng)用內(nèi)編輯Word文檔可以極大地提高工作效率,本文將詳細(xì)介紹如何在Vue.js項(xiàng)目中集成Word在線(xiàn)編輯功能,需要的朋友可以參考下
    2024-08-08
  • vue封裝公共方法的實(shí)現(xiàn)代碼

    vue封裝公共方法的實(shí)現(xiàn)代碼

    這篇文章給大家介紹了vue封裝公共方法的實(shí)現(xiàn),文章中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • 關(guān)于vue組件事件屬性穿透詳解

    關(guān)于vue組件事件屬性穿透詳解

    今天小編就為大家分享一篇關(guān)于vue組件事件屬性穿透詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • 解決vite build打包后頁(yè)面不能正常訪(fǎng)問(wèn)的情況

    解決vite build打包后頁(yè)面不能正常訪(fǎng)問(wèn)的情況

    這篇文章主要介紹了解決Vite打包后直接使用瀏覽器打開(kāi),顯示空白問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解vue組件化開(kāi)發(fā)-vuex狀態(tài)管理庫(kù)

    詳解vue組件化開(kāi)發(fā)-vuex狀態(tài)管理庫(kù)

    本篇文章主要介紹了詳解vue組件化開(kāi)發(fā)-vuex狀態(tài)管理庫(kù),具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04

最新評(píng)論

丹江口市| 峡江县| 阿坝| 云和县| 仙居县| 灵宝市| 贵南县| 廊坊市| 息烽县| 延安市| 明溪县| 北流市| 谢通门县| 泾阳县| 太湖县| 安顺市| 浦北县| 十堰市| 沁阳市| 扎鲁特旗| 德兴市| 宜城市| 东至县| 晋州市| 新化县| 察雅县| 敦煌市| 清水县| 兴山县| 香河县| 洛南县| 伽师县| 龙游县| 德阳市| 无棣县| 翼城县| 宜城市| 西乡县| 崇阳县| 江津市| 庆安县|