VUE中非相關元件傳參(事件匯流排)

2021-09-27 08:10:11 字數 1806 閱讀 1833

實現是效果是單擊count元件中的按鈕count和helloworld元件中的值都加1

main.js中**如下

import vue from "vue";

import vuex from "vuex";

import vant from "vant";

import "vant/lib/index.css";

import store from "./store"; //儲存vuex模組,每個頁面的資料分塊顯示

import router from "./router";

vue.use(vuex);

vue.use(vant);

vue.config.productiontip = false;

//再main.js中建立乙個事件匯流排,就是建立乙個新的vue物件

const eventbus = new vue();

vue.prototype.$eventbus = eventbus; //在vue的原型物件上建立了乙個事件匯流排

//所以vue所有的例項就可以獲取這個物件了

new vue(}

count.vue中**為

(事件匯流排)當前的count:}

在main.js中建立vuex例項

import vue from "vue";

import vuex from "vuex";

import vant from "vant";

import "vant/lib/index.css";

//import store from "./store"; //儲存vuex模組,每個頁面的資料分塊顯示

import router from "./router";

import from "fs";

vue.use(vuex);

vue.use(vant);

vue.config.productiontip = false;

//建立乙個vuex例項store,在每個子元件中都可以訪問到store中的資料,store中有state,mutations,actions,getters

//store中有state儲存資料,mutations改變資料的方法(同步操作,可以在devtools中找到每乙個的更改記錄),commit乙個同步請求,actions

//也是改變資料的資訊(只不過是非同步請求),dispatch乙個非同步請求,在actions中直接改變state的狀態,devtools不會記錄這個變化

//getters相當於計算屬性,具有快取作用,只有當資料發生改變後,才會重新計算,否則採用上次計算的值

const store = new vuex.store(,

mutations:

},actions: = context //解構賦值,因為context中含有commit,dispatch,getters,state等其他資料...

commit('add', 20)

}, 3000)}},

getters:

}})new vue(}

通過getters獲取vuex中state的count值:}

mapstate的方法獲取vuex中的count值,},}

counter.vue**如下

vuex中的count值為:}

vuex中的count值為【非同步操作】:}

React 元件傳參 事件 週期函式

import react from react import logo from logo.svg 匯入元件 自定義元件 mycom.js import react,from react import mycom.css class mycom extends component 改變元件方法中的t...

Vue 事件匯流排 兄弟元件之間傳值

第一種 全域性使用,在main.js中用vue的原型物件上新增乙個bus方法vue.prototype.bus new vue 接著在第乙個傳值的元件內自定義乙個傳值方法 向元件傳值 接著在第二個需要接受的元件內接收 從firstchild接收到的資訊 效果自己複製實現 需要注意的是,在全域性使用 ...

Vue中非父子元件傳值的問題

今天在做專案的時候需要非父子元件之間進行傳值,通過以下鏈結解決問題,進行記錄下。父子元件傳值的問題,前面已經講過,不再敘述,這裡來說一種非父子元件的傳值。vue官網指出,可以使用乙個空vue例項作為事件 線!也就是說 非父子元件之間的通訊,必須要有公共的例項 可以是空的 才能使用 emit獲取 on...