Vue兄弟組件通信(VueX)

在vue里,組件之間的作用域是獨(dú)立的,父組件跟子組件之間的通訊可以通過prop屬性來傳參,但是在兄弟組件之間通訊就比較麻煩了。
比如A組件要告訴一件事給B組件,那么A就要先告訴他們的父組件,然后父組件再告訴B。
當(dāng)組件比較多,要互相通訊的事情很多的話,管理起來是非常累的事情。
而vuex正是為了解決這個問題,讓多個子組件之間可以方便的通訊。

vuex模塊化應(yīng)用實(shí)踐

vuex的使用方法

1. vue store存儲commit 和dispatch的區(qū)別

1. 創(chuàng)建app.js文件

import Vue from 'vue'
import {SIDEBAR_TYPE} from "@/store/mutation-types"

const app = {

 state: {
    sidebar: {
      opened: true,
      withoutAnimation: false
    }
  },
 mutations: {
    SET_SIDEBAR_TYPE: (state, type) => {
      state.sidebar.opened = type
      Vue.ls.set(SIDEBAR_TYPE, type)
    }
  },
  actions: {
    setSidebar: ({ commit }, type) => {
      commit('SET_SIDEBAR_TYPE', type)
    }
  }
}
export default app

1. dispatch:異步操作,調(diào)用的方法在actions中

存儲:

this.$store.dispatch('setSidebar', false)

取值:

this.$store.getters.targetUser;

2. commit:同步操作,方法定義在mutations中

存儲:

this.$store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))

取值:

this.$store.state.setTargetUser

2. vuex store用法

Vue 中 store 基本用法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無法相互引...
    用技術(shù)改變世界閱讀 2,304評論 1 3
  • 摘要: 總有一款合適的通信方式。 作者:浪里行舟 Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 前言 組件是 v...
    Fundebug閱讀 15,646評論 3 57
  • 前言 組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無法相互引...
    7abbcd54a89d閱讀 764評論 0 1
  • 目錄 - 1.什么是vuex? - 2.為什么要使用Vuex? - 3.vuex的核心概念?||如何在組件中去使用...
    我跟你蔣閱讀 4,238評論 4 51
  • 前言 組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無法相互引...
    Vicky丶Amor閱讀 6,119評論 10 162

友情鏈接更多精彩內(nèi)容