vue php聊天室,实例详解vue组件父子间通信之聊天室

本文主要为大家详细介绍了vue组件父子间通信之综合练习聊天室制作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

组件父子间通信之综合练习

{{msg}}

// 创建父组件

Vue.component("chat-room",{

//data属性中的chatList保存用户聊天信息

data:function(){

return{

chatList:[]

}

},

template:`

//假的聊天室

假的聊天室

//显示用户的聊天信息

  • {{tmp}}

`

})

//创建子组件

Vue.component("user-component",{

props:["userName"],

//通过v-model把用户输入的数据保存到userInput数组

data:function(){

return {

userInput:[]

}

},

methods:{

//把用户输入的数据以及用户名label信息push给chatList数组

sendChat:function(){

this.$parent.chatList.push(this.userName+":"+this.userInput);

//情况input框

this.userInput =" ";

}

},

template:`

{{userName}}

发送

`

})

new Vue({

el:"#container",

data:{

msg:"Hello VueJs"

}

})

组件间通信综合练习:

(props down,events up)

有2个组件:chat-room,user-component

user-component是由label input button构成

chat-room是由两个user-component和一个列表构成

①在chat-room调用user-component指定label的名字

②在user-component,

点击按钮时,将当前用户输入的信息发送给chat-room组件,chat-room接收到数据显示在列表中

代码:

Vue.component('chat-room',{

methods:{

recvMsg:function(msg){

console.log("在父组件中接收子组件传来的数据"+msg);

this.chatList.push(msg);

}

},

data: function () {

return {

chatList:[]

}

},

template:`

假的聊天室

  • {{tmp}}

`

})

Vue.component('user-component',{

props:['userName'],

data: function () {

return {

userInput:''

}

},

methods:{

sendToFather: function () {

//触发toFatherEvent的事件,把input中

//用户输入的数据发送

this.$emit("sendToFather",this.userName+":"+this.userInput);

}

},

template:`

{{userName}}

发送

`

})

new Vue({

el: '#container',

data: {

msg: 'Hello Vue'

}

})

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值