我正在使用 Vue.js 2.0 并且我试图从“子组件”发出一个事件

Leo*_*tos 4 javascript emit vue.js

我正在使用 Vue.js 2.0,我试图从child componentto发出一个事件,parent component但它不起作用。

你可以在下面看到我的代码:

子组件:

<template>
  <button @click="confirmSendMessage">Send</button>
</template>

<script>
  export default {
    methods: {
      confirmSendMessage () {
        this.$emit('confirmed')
      }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

父组件:

<template>
    <ConfirmMessage/>
</template>

<script>
    import ConfirmMessage from './ConfirmMessage'
    export default {
        events: {
           confirmed() {
              console.log('confirmed')
           }
        },
        components: {
            ConfirmMessage
        }
   }
</script>
Run Code Online (Sandbox Code Playgroud)

当我单击该按钮时,Chrome 控制台上没有任何显示。我不知道为什么。有谁能够帮助我?我是 Vue JS 的新手。

Bho*_*yar 7

您错过了监听发出的事件。使用v-on监听事件:

<!--                               vv -> call method -->
<ConfirmMessage v-on:confirmed="confirmed" />
<!--                  ^^ -> emitted event -->
Run Code Online (Sandbox Code Playgroud)