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

Vue2:組件間通信框架Vuex

這篇具有很好參考價(jià)值的文章主要介紹了Vue2:組件間通信框架Vuex。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、原理圖及作用

功能介紹:
簡單說就是Vue項(xiàng)目中,各個(gè)組件間通信的一種框架
相較于之前的全局事件總線,該框架更實(shí)用!
提高了代碼的復(fù)用率,把核心業(yè)務(wù)代碼,集中到store中,這樣,一處實(shí)現(xiàn),處處調(diào)用。
原理:
VC 調(diào)用 actions
actions調(diào)用mutations
mutations調(diào)用state
VC讀取state
完美閉環(huán)!
Vue2:組件間通信框架Vuex,前端,vue.js,javascript,前端

二、核心代碼

安裝插件

npm i vuex@3	Vue2的項(xiàng)目,安裝Vuex3
npm i vuex@4	Vue3的項(xiàng)目,安裝Vuex4

vue_test/src/store/index.js

//該文件用于創(chuàng)建vuex中最為核心的store

//引入Vue
import Vue from 'vue'
//引入Vuex
import Vuex from 'vuex'

Vue.use(Vuex);

//準(zhǔn)備actions     用于響應(yīng)組件中的動(dòng)作
const actions = {
    jia(context, value) {
        console.log('actions中的jia被調(diào)用了')
        context.commit('JIA', value)
    },
    jian(context, value)  {
        console.log('actions中的jian被調(diào)用了')
        context.commit('JIAN', value)
    },
    jiaOdd(context,value){
        console.log('actions中的jiaOdd被調(diào)用了')
        if(context.state.sum % 2){
            context.commit('JIA',value)
        }
    },
    jiaWait(context,value){
        console.log('actions中的jiaWait被調(diào)用了')
        setTimeout(()=>{
            context.commit('JIA',value)
        },500)
    }
};
//準(zhǔn)備mutations       用于操作數(shù)據(jù)state
const mutations = {
    JIA(state,value){
        console.log('mutations中的JIA被調(diào)用了')
        state.sum += value
    },
    JIAN(state,value){
        console.log('mutations中的JIAN被調(diào)用了')
        state.sum -= value
    }
};
//準(zhǔn)備state       用于存儲數(shù)據(jù)
const state = {
    sum: 0 //當(dāng)前的和
};

//創(chuàng)建并暴露store
export default new Vuex.Store({
    actions,
    mutations,
    state
});

main.js
這樣配置后,在所有的VC中就可以使用這個(gè)store了。

import store from './store/index'

//創(chuàng)建vm,整個(gè)項(xiàng)目就這1個(gè)vm,其他的都是vc組件
new Vue({
    el:"#app",
    render: h => h(App),
    store,
    beforeCreate() {
        Vue.prototype.$bus = this;     //安裝全局總線
    }
});

三、使用案例

1、讀取store中的變量值

{{$store.state.sum}}

2、VC中修改store中的變量值

方式1this.$store.dispatch('jia',this.n)
方式2this.$store.commit('JIA',this.n)

四、詳細(xì)說明

1、類比Javamvc
我們可以看到,store中,主要有三個(gè)對象

actions		    類似于Java的controller接口,業(yè)務(wù)邏輯
mutations		類似于Java的service層,修改數(shù)據(jù)
state			類似于Java的dao層,存儲數(shù)據(jù)

2、store中各對象詳解
actions對象中的函數(shù)參數(shù):
context
有這個(gè)context,那么,actions中的函數(shù),就可以調(diào)用actions中其它的函數(shù)
不一定,actions就要進(jìn)入mutations步驟。
Vue2:組件間通信框架Vuex,前端,vue.js,javascript,前端
value
就是調(diào)用時(shí)傳入的具體值。

3、mutations對象中的函數(shù)參數(shù):
state:就是store中的state。
value:調(diào)用時(shí)傳入的具體參數(shù)值。文章來源地址http://www.zghlxwxcb.cn/news/detail-825785.html

到了這里,關(guān)于Vue2:組件間通信框架Vuex的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【干貨】Vue2.x 組件通信方式詳解,這篇講全了

    【干貨】Vue2.x 組件通信方式詳解,這篇講全了

    vue是數(shù)據(jù)驅(qū)動(dòng)視圖更新的框架, 我們平時(shí)開發(fā),都會(huì)把頁面不同模塊拆分成一個(gè)一個(gè)vue組件, 所以對于vue來說組件間的數(shù)據(jù)通信非常重要,那么組件之間如何進(jìn)行數(shù)據(jù)通信的呢? 首先我們需要知道在vue中組件之間存在什么樣的關(guān)系, 才更容易理解他們的通信方式。 一般我們分

    2023年04月27日
    瀏覽(24)
  • vue(32) : win10創(chuàng)建vue2基礎(chǔ)前端框架

    vue(32) : win10創(chuàng)建vue2基礎(chǔ)前端框架

    vue2 element-ui axios 含接口調(diào)用示例 開發(fā)工具為HBuilderX 3.7.3 等待創(chuàng)建項(xiàng)目 代理后端配置如下, 三個(gè)test改成相同的uri前綴即可, uri該簽注會(huì)代理到后端 proxy: { ? ? ? // 代理test開頭的uri ? ? ? \\\'/test\\\': { ? ? ? ? target: \\\'http://192.168.1.1:8080\\\', // 后端地址 ? ? ? ? changeOrigin: true, // 開啟代

    2024年02月06日
    瀏覽(25)
  • 關(guān)于前端框架vue2升級為vue3的相關(guān)說明

    關(guān)于前端框架vue2升級為vue3的相關(guān)說明

    一些框架需要升級 當(dāng)前(202306) Vue 的最新穩(wěn)定版本是 v3.3.4 。Vue 框架升級為最新的3.0版本,涉及的相關(guān)依賴變更有: 前提條件:已安裝 16.0 或更高版本的Node.js(摘) 必須的變更:核心庫vue@23、路由vue-router@34、狀態(tài)管理vuex@34 構(gòu)建工具鏈: Vue CLI Vite(摘) 狀態(tài)管理: Vuex Pi

    2024年02月15日
    瀏覽(63)
  • vue2 vuex

    vue2 vuex

    Vuex 是一個(gè) Vue 的 狀態(tài)管理工具 ,狀態(tài)就是數(shù)據(jù)。 大白話:Vuex 是一個(gè)插件,可以幫我們管理 Vue 通用的數(shù)據(jù) (多組件共享的數(shù)據(jù)) 。 使用場景 某個(gè)狀態(tài) 在 很多個(gè)組件 來使用 (個(gè)人信息) 多個(gè)組件 共同維護(hù) 一份數(shù)據(jù) (購物車) 優(yōu)勢 共同維護(hù)一份數(shù)據(jù), 數(shù)據(jù)集中化管理 響應(yīng)式

    2024年02月09日
    瀏覽(20)
  • ? 全面解析若依框架vue2版本(springboot-vue前后分離--前端部分)

    ? 全面解析若依框架vue2版本(springboot-vue前后分離--前端部分)

    一般在vue項(xiàng)目public文件夾下命名為“favicon.ico” ? 處理步驟 第1步:將圖標(biāo)重命名為“favicon.ico”,并放在項(xiàng)目根目錄 下。 第2步:然后在index.html中引入,title中修改頁面標(biāo)題。 第3步:修改build文件夾下 webpack .dev.conf.js和webpack.prod.conf.js文件中的內(nèi)容。 第五步:重新已經(jīng)成功

    2024年02月12日
    瀏覽(99)
  • vue2.x中使用vuex

    vue2.x中使用vuex

    Vuex是什么? Vuex是一個(gè)專門為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲來管理應(yīng)用程序中所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。Vuex也被集成到了Vue的官方調(diào)試工具vue-devtools中,提供了諸如零配置的time-travel調(diào)試、狀態(tài)快照導(dǎo)入

    2023年04月13日
    瀏覽(16)
  • 開始學(xué)習(xí)Vue2(axios和Vuex)

    開始學(xué)習(xí)Vue2(axios和Vuex)

    一、 Axios 1、 Axios ?簡介 Axios ? 是一個(gè)基于 ?promise?? 網(wǎng)絡(luò)請 求庫 ,作用于 node.j?s? 和瀏 ? 覽器中。它是 ?isomorphic? 的(即同一套代碼可以運(yùn)行在瀏覽器 和 node.js 中)。在服務(wù)端它使用原生 ?node.js http ?模塊, ?而在 客戶端 ? (瀏覽端) ? 則使用 ? XMLHttpRequests。 2、 Axios ?的

    2024年02月20日
    瀏覽(18)
  • Jeecg開發(fā)框架前端VUE2數(shù)據(jù)頁面與后端數(shù)據(jù)庫交互實(shí)現(xiàn)

    Jeecg開發(fā)框架前端VUE2數(shù)據(jù)頁面與后端數(shù)據(jù)庫交互實(shí)現(xiàn)

    ? JeecgBoot 是一款基于代碼生成器的 低代碼 開發(fā)平臺,零代碼開發(fā)!采用前后端分離架構(gòu):SpringBoot2.x,Ant DesignVue,Mybatis-plus,Shiro,JWT。強(qiáng)大的代碼生成器讓前后端代碼一鍵生成,無需寫任何代碼! JeecgBoot引領(lǐng)新的開發(fā)模式(Online Coding模式- 代碼生成器模式- 手工MERGE智能開發(fā)

    2024年02月11日
    瀏覽(50)
  • Vue2向Vue3過度Vuex核心概念mutations

    Vue2向Vue3過度Vuex核心概念mutations

    1.定義mutations 2.格式說明 mutations是一個(gè)對象,對象中存放修改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é) 通過mutations修改state的步驟 1.定義

    2024年02月11日
    瀏覽(49)
  • Vue2:Vuex中使用mapMutations和mapActions

    上一節(jié),我們學(xué)會(huì)在 vc 的 computed 模塊中,使用 mapState和mapGetters 來簡化代碼 這一節(jié),我們學(xué)習(xí)在 vc 的 methods 模塊中,使用 mapMutations和mapActions 來簡化代碼 在 vc 的 methods 中,我們會(huì)使用到 store 的 dispatch 和 commit 。 如果涉及到許多的方法都要用到 store 那么,這個(gè)時(shí)候,就可

    2024年02月20日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包