Vue之父子、同級元件的通訊詳解
在元件的通訊上vue2.0棄用1.0中
dispatch和
broadcast的原因在於依賴元件樹結構的事件流,當元件樹變得很大時很難推理(簡單地說:它不能在大型應用很好地擴充套件,我們不希望以後給你設定痛點)。dispatch和
broadcast不能解決同級元件之間的通訊。 2.0中有兩種方法可以完成元件直接的通訊,一種是vuex,適合大型專案的元件管理(比較複雜暫不寫,以後會詳解)。另一種是event.bus,這種方法適合不算特別複雜的元件管理,這裡詳解一下怎麼用:
新建目錄檔案–>src/components/eventBus/eventBus.js,程式碼:
import Vue from 'vue';
export default new Vue();
元件中引用:
import bus from '@/components/eventBus/eventBus';
下面介紹父元件與子元件、子元件與父元件、同級元件之間的通訊方式:
一,子元件–>父元件,傳遞引數觸發父元件的方法、子元件方法讓父元件呼叫,同級元件通訊與子元件–>父元件用法的方法一致。
1,子元件中傳遞引數觸發父元件方法,可以將當前屬性當做引數傳到父元件,比如傳當前的元素element:
(1)首先由子元件觸發當前元素:
子元件children模板:
<div @cart-add="cartAdd"></div>
子元件js:
import bus from '@/components/eventBus/eventBus';
export default {
cartAdd () {
bus.$emit('cart-add', event.target);
}
};
(2)父元件parent模板在鉤子函式中接收屬性
父元件模板:
<div>
<children @cart-add="cartAdd"></children>
</div>
父元件js:
import bus from '@/components/eventBus/eventBus';
export default {
created () {
bus.$on('cart-add', (el) => {});
}
};
2,子元件方法讓父元件呼叫
這裡借用ref、refs的方法,子元件js:
export default {
methods: {
drop () {
}
}
};
父元件模板:
<div>
<div @click="btn"></div>
<children ref=cartAdd></children>
</div>
父元件js:
export default {
methods: {
btn () {
this.$refs.cartAdd.drop();
}
}
};
二,父元件–>子元件傳值
父元件模板中繫結引數:
<div>
<children :parentData="datas"></children>
</div>
子元件接收資料,在模板中就可以呼叫父元件裡的資料
子元件模板:
<div>{{parentData.name}}</div>
export default {
props: {
parentData: {
type: Object
}
}
};
三、兄弟元件通訊
與子元件–>父元件的傳遞引數觸發方法一致,在children1中
emit傳遞屬性,在children2中
on接收屬性觸發方法。 相關文章
- Vue 父子元件的通訊Vue元件
- vue 父子元件通訊Vue元件
- 3.Vue非父子元件之間的通訊Vue元件
- Vue中父子元件通訊——元件todolistVue元件
- vue--select父子元件通訊Vue元件
- vue父子元件通訊高階用法Vue元件
- Vue2.0父子元件間通訊Vue元件
- Vue父子元件通訊小總結Vue元件
- 會vue,學習react元件父子通訊VueReact元件
- Vue.js 父子元件通訊的1212種方式Vue.js元件
- Vue 元件通訊方式全面詳解Vue元件
- eventBus(封裝) 一個巧妙的解決vue同級元件通訊的思路封裝Vue元件
- vue2.0父子、兄弟元件通訊,$emit使用Vue元件MIT
- vue之父子元件間通訊例項講解(props、$ref、$emit)Vue元件MIT
- Vue元件之間的資料傳遞(通訊、互動)詳解Vue元件
- vue: 從一個下拉框元件理解vue中的父子通訊Vue元件
- vue元件之間的通訊Vue元件
- vue元件通訊之propsVue元件
- 【乾貨】Vue3 元件通訊方式詳解Vue元件
- 元件:非父子間傳值(同級傳值)元件
- vue 自定義元件 v-model雙向繫結、 父子元件同步通訊Vue元件
- 我學react之父子元件通訊React元件
- Vue子元件與父元件之間的通訊Vue元件
- Vue父子組建的簡單通訊之控制開關SwitchVue
- 總結Vue第二天:自定義子元件、父子元件通訊、插槽Vue元件
- Vue 元件的通訊Vue元件
- prop父子元件通訊,動靜態prop元件
- vue---註冊元件、元件之間父子傳值Vue元件
- vue中兄弟之間元件通訊Vue元件
- vue 父子元件的方法呼叫Vue元件
- Vue元件之間通訊的三種方式Vue元件
- Vue — 元件通訊Vue元件
- vue元件通訊Vue元件
- vue 元件通訊Vue元件
- Vue 元件間的通訊Vue元件
- 簡單說說vue的父子元件,父子元件傳值和vuexVue元件
- vue父子元件的渲染順序Vue元件
- vue父子元件之間傳值以及方法呼叫Vue元件
- 前端面試之Vue中元件通訊的方式前端面試Vue元件