@input="$emit('input', $event)" 在 vue 组件中是什么意思?

Pet*_*ran 6 vue.js vue-events

我正在阅读一些我想更新的代码:

<b-input :value="value" @input="$emit('input', $event)" ref="input" :maxlength="maxlength"/>
Run Code Online (Sandbox Code Playgroud)

代表什么@input="$emit('input', $event)"?我在哪里以及如何监听输入事件?

Pad*_*rom 5

@inputv-on:input是绑定到组件事件的简写inputvm.$emit在此处记录,并在此处有一个具有类似用例的示例。

在您的情况下,您的组件只是发出一个与从其 child 接收的事件具有相同名称和相同参数的事件b-input。您可以通过编程方式监听这些事件vm.$on,例如在您的mounted方法中:

export default {
  components: { BInput },

  mounted () {
    this.$on('input', (event) => {
      console.log(event);
    });
  }
}
Run Code Online (Sandbox Code Playgroud)