您的位置:首页 > Web前端 > Vue.js

vue2.x 父组件监听子组件事件并传回信息的方法

2017-07-17 16:07 811 查看

本文介绍了vue2.x 父组件监听子组件事件并传回信息,分享给大家,希望此文章对各位有所帮助

利用vm.$emit

1、在父组件中引用子组件

<child @from-child-msg="listenChildMsg"></child >

2、子组件中使用$emit发送事件

this.$emit('from-child-msg', '这是子组件传递的消息');

demo

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
input, select {
height: 30px;
}
</style>
</head>
<body>
<div id="app">
<child value="name" @msg-from-child="getMsgFromChild"></child>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.6/vue.min.js"></script>
<script>
Vue.component('child', {
data: function () {
return {
val: this.value
}
},
props: ['value'],
methods: {
handleClick () {
this.$emit('msg-from-child', this.val)
}
},
template: `
<div><input type="text" v-model="val"><button type="button" @click="handleClick">确定</button></div>
`
})
new Vue ({
el: '#app',
data: {
},
methods: {
getMsgFromChild (v) {
alert('msg: ' + v)
}
}
})
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vue 监听 组件