Vue2.0實現(xiàn)組件之間數(shù)據(jù)交互和通信操作示例
本文實例講述了Vue2.0實現(xiàn)組件之間數(shù)據(jù)交互和通信操作。分享給大家供大家參考,具體如下:
Vue2.0組件之間數(shù)據(jù)交互和通信。
Vue2.0廢棄了dispatch 和 $broadcast,如何在實現(xiàn)組件之間的數(shù)據(jù)交互和通信?下面是一個簡單的demo解決了這個問題。
事件中心(evengtHub.js):
//定義事件中心,在模板通信是使用。
import Vue from 'vue';
export default {
bus: new Vue()
}
父組件:
<div> <!--msg必須跟子組件的msg參數(shù)一致,@msg是子組件向父組件傳參數(shù)的接口,:msg是父組件向子組件傳參數(shù)的接口--> <child1 @msg='getMsg' :msg1='msg1'></child1> <child1 ref='child2'></child2> <div>
<script>
import bus form 'eventHub'
componets: {
child1: require('child1'),
child2: require('child2');
},
data() {
return: {
msg1: 'hello'
}
},
methods: {
getMsg(el) {
this.$refs.child2.drop(el);
//父組件調(diào)用child2組件的drop方法,傳遞el參數(shù),子組件和子組件之間的通信
}
}
</script>
子組件1
<template>
<div class='child1' @click='sendMsg'>{{msg}}<div>
</template>
<script>
import bus form 'eventHub';
//props屬性用于子組件接收父組件傳過來的參數(shù)
props: {
msg1 :String
},
methods: {
this.bus.$emit('add', event.target);//此方法可以通過子組件1在任意組件內(nèi)響應點擊事件。
this.$emit('msg', event.target);//發(fā)送數(shù)據(jù)給父組件,這個方法的'msg'參數(shù)必須和父組件的@msg保持一致。
}
</script>
子組件2
<template> <div class='child2'><div> </template>
<script>
import bus form 'eventHub'
methods: {
drop(el) {
console.log(el);//打印出child1的div元素
}
},
created() {
this.bus.$on('add',() => {
console.log('響應child1的點擊事件');
})
}
</script>
上面的例子中包括父子組件之間互相傳參數(shù)和組件之間的通信,更好的組件通信事件請使用vuex。
希望本文所述對大家vue.js程序設計有所幫助。
相關文章
vue項目中使用crypto-js實現(xiàn)加密解密方式
這篇文章主要介紹了vue項目中使用crypto-js實現(xiàn)加密解密方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
@vue/cli4升級@vue/cli5?node.js?polyfills錯誤的解決方式
最近在升級vue/cli的具有了一些問題,解決問題的過程也花費了些時間,所以下面這篇文章主要給大家介紹了關于@vue/cli4升級@vue/cli5?node.js?polyfills錯誤的解決方式,需要的朋友可以參考下2022-09-09
vuex 第三方包實現(xiàn)數(shù)據(jù)持久化的方法
本文主要介紹了vuex 第三方包實現(xiàn)數(shù)據(jù)持久化的方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Vue開發(fā)工具之vuejs-devtools安裝教程及常見問題解決(最詳細)
這篇文章主要介紹了Vue開發(fā)工具vuejs-devtools超級詳細安裝教程以及常見問題解決本篇文章是最詳細的vue開發(fā)工具vuejs-devtools安裝教程,需要的朋友可以參考下2022-11-11
VsCode工具開發(fā)vue項目必裝插件清單(推薦!)
對于很多使用vscode編寫vue項目的新手同學來說,可能不知道使用什么插件,下面這篇文章主要給大家介紹了關于VsCode工具開發(fā)vue項目必裝插件的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-09-09
Vue項目之安裝引入使用vconsole方式(生產(chǎn)環(huán)境不顯示)
在Vue2開發(fā)中,引入vConsole可以為移動端提供類似瀏覽器F12的調(diào)試工具,支持查看日志、網(wǎng)絡請求等功能,vConsole是一個輕量、可拓展的前端調(diào)試面板,與框架無關,適用于多種前端框架,安裝方法包括npm和CDN兩種,可根據(jù)項目環(huán)境配置是否顯示調(diào)試面板2024-10-10
解決vue2.0 element-ui中el-upload的before-upload方法返回false時submit(
這篇文章主要介紹了vue2.0 element-ui中el-upload的before-upload方法返回false時submit()不生效的解決方法,這里需要主要項目中用的element-ui是V1.4.3,感興趣的朋友參考下吧2018-08-08

