一 父---> 子 組件通信
1,聲明一個(gè)組件(props 指定組件外來(lái)接受的參數(shù),我指定了一個(gè)string類型的message參數(shù),默認(rèn)內(nèi)容為‘I Am AESCR’)
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、旅順口網(wǎng)絡(luò)推廣、小程序開發(fā)、旅順口網(wǎng)絡(luò)營(yíng)銷、旅順口企業(yè)策劃、旅順口品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供旅順口建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
Vue.component('test-com',{
props:{
message:{
type:String,
default:'I Am AESCR'
}
},
template:'{{message}}'
})
2,把需要傳遞的內(nèi)容直接寫在組件屬性上面,通過(guò)v-bind:形式綁定,傳遞內(nèi)容就變得容易修改了
二 子 --->父組件數(shù)據(jù)傳遞
1,通過(guò)觸發(fā)事件的方式來(lái)傳遞數(shù)據(jù),我們先說(shuō)明一個(gè)組件,和一個(gè)事件
Vue.component('test-com',{
data:function(){
return{
msg:'I am AESCR'
}
},
methods: {
hello:function(){
this.$emit('sayhello',this.msg) #sayhello 為組件上監(jiān)聽的事件名稱一致,后面為參數(shù)
}
},
template:''
})
調(diào)用組件
外層 {{content}}
#sayhellocontent為外層事件名稱
new Vue({
el:'#app2',
data:{
'content':null,
},
methods:{
sayhellocontent:function(content){
#content會(huì)接受到$emit傳遞的參數(shù)
this.content=content
}
}
})
三 組件間傳遞數(shù)據(jù)
1.新建一個(gè)js文件,然后引入vue 實(shí)例化vue 最后暴露這個(gè)實(shí)例
2.在要廣播的地方引入剛才定義實(shí)例
3.通過(guò)vueEmit.$emit('名稱',‘?dāng)?shù)據(jù)’)
4.在接收數(shù)據(jù)
---------------------------------------------------
Vue.$on('名稱',function(){
})
我們可以實(shí)例化一個(gè)vue實(shí)例,相當(dāng)于一個(gè)第三方
let vm = new Vue(); //創(chuàng)建一個(gè)新實(shí)例
methods: {
ge() {
vm.$emit('blur','sichaoyun'); //觸發(fā)事件 傳遞參數(shù)
}
}
組件接受
created() {
vm.$on('blur', (arg) => {
this.test= arg; // 接收
});
}