面试题答案
一键面试- 模板语法:
- 在子组件标签上使用
v - on
指令监听子组件触发的自定义事件。例如,如果子组件触发的自定义事件名为child - event
,在父组件模板中这样写:
<template> <ChildComponent @child - event="handleChildEvent"></ChildComponent> </template>
- 其中
handleChildEvent
是父组件中定义的处理函数。
- 在子组件标签上使用
- JavaScript 代码:
- 在子组件中,使用
$emit
方法触发自定义事件。例如:
export default { methods: { someFunction() { this.$emit('child - event', data); // data 是可以传递给父组件的数据 } } };
- 在父组件中,定义处理函数
handleChildEvent
。例如:
export default { methods: { handleChildEvent(data) { // 处理子组件传递过来的数据,做出相应响应 console.log('Received data from child:', data); } } };
- 在子组件中,使用
通过上述在模板语法中监听事件,在子组件 JavaScript 代码中触发事件,在父组件 JavaScript 代码中处理事件,即可实现子组件自定义事件冒泡到父组件并让父组件做出响应。