温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

vue2.x中怎么通过父组件监听子组件事件并传回信息

发布时间:2021-07-21 14:18:13 来源:亿速云 阅读:150 作者:Leah 栏目:web开发

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>

关于vue2.x中怎么通过父组件监听子组件事件并传回信息问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue
AI