知海

教程:第 13 步

Vue教程

教程:第 13 步

除了接收 props,子组件还可以向父组件触发事件:

vue 复制代码
js 复制代码
export default {
  // 声明触发的事件
  emits: ['response'],
  setup(props, { emit }) {
    // 带参数触发
    emit('response', 'hello from child')
  }
}
js 复制代码
export default {
  // 声明触发的事件
  emits: ['response'],
  created() {
    // 带参数触发
    this.$emit('response', 'hello from child')
  }
}

this.$emit()emit() 的第一个参数是事件的名称。其他所有参数都将传递给事件监听器。

父组件可以使用 v-on 监听子组件触发的事件——这里的处理函数接收了子组件触发事件时的额外参数并将它赋值给了本地状态:

vue-html 复制代码
<ChildComp @response="(msg) => childMsg = msg" />
vue-html 复制代码
<child-comp @response="(msg) => childMsg = msg"></child-comp>

现在在编辑器中自己尝试一下吧。

帮助我们改进文档

发现翻译问题或内容错误?请告诉我们。