面试题答案
一键面试实现思路
- 在Vue组件的
mounted
钩子函数中,通过document.querySelector
获取目标DOM元素,并使用addEventListener
绑定自定义事件。 - 在Vue组件的
beforeUnmount
钩子函数中,通过removeEventListener
解绑之前绑定的自定义事件。
核心代码示例
<template>
<div>
<!-- 组件内容 -->
</div>
</template>
<script setup>
import { onMounted, onBeforeUnmount } from 'vue';
// 定义自定义事件处理函数
const handleCustomEvent = () => {
console.log('自定义事件被触发');
};
onMounted(() => {
const targetElement = document.querySelector('#target-element');
if (targetElement) {
targetElement.addEventListener('custom-event', handleCustomEvent);
}
});
onBeforeUnmount(() => {
const targetElement = document.querySelector('#target-element');
if (targetElement) {
targetElement.removeEventListener('custom-event', handleCustomEvent);
}
});
</script>
在上述代码中,#target-element
是目标DOM元素的id,实际使用时请替换为真实的选择器。handleCustomEvent
是自定义事件的处理函数,可根据需求进行修改。onMounted
钩子函数负责绑定事件,onBeforeUnmount
钩子函数负责解绑事件。