vue中,watch如何监听某个元素是否在另一个元素中存在
时间: 2024-02-27 09:54:52 浏览: 100
vue2+vue3的rem缩放
在Vue中,可以使用watch监听某个元素是否在另一个元素中存在。首先需要在data中定义两个变量,一个表示需要查找的元素,另一个表示目标元素。然后在watch中监听需要查找的元素是否在目标元素中存在。
示例代码如下:
```html
<template>
<div>
<input type="text" v-model="search" />
<div ref="target">
<p>目标元素</p>
<div ref="element">
<p>需要查找的元素</p>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
search: "",
};
},
watch: {
search(val) {
const el = this.$refs.element;
const target = this.$refs.target;
if (target.contains(el)) {
console.log("元素存在");
} else {
console.log("元素不存在");
}
},
},
};
</script>
```
在上面的代码中,我们定义了一个search变量来表示需要查找的元素,然后使用ref指令为目标元素和需要查找的元素添加引用。在watch中,我们首先获取目标元素和需要查找的元素的引用,然后使用contains方法判断需要查找的元素是否在目标元素中存在。如果存在,就输出“元素存在”,否则输出“元素不存在”。
阅读全文