Vue3 中使用 TypeScript 而且使用了 <script lang="ts" setup>语法判断元素ID是否存在
时间: 2024-02-14 13:15:21 浏览: 254
Vue 3 中使用 TypeScript 并且使用了 `<script lang="ts" setup>` 语法,可以通过以下方式判断元素 ID 是否存在:
1. 在组件中定义一个 `ref`,并在 `setup` 函数中使用 `onMounted` 钩子函数来检查元素是否存在:
```typescript
<script lang="ts" setup>
import { ref, onMounted } from 'vue';
const myElement = ref<HTMLElement | null>(null);
onMounted(() => {
const el = document.getElementById('my-element');
if (el) {
myElement.value = el;
}
});
</script>
<template>
<div ref="myElement" id="my-element">My Element</div>
</template>
```
2. 使用可选链语法(Optional Chaining)来检查元素是否存在:
```typescript
<script lang="ts" setup>
import { onMounted } from 'vue';
onMounted(() => {
const el = document.getElementById('my-element');
if (el?.classList.contains('active')) {
// do something
}
});
</script>
<template>
<div id="my-element" class="active">My Element</div>
</template>
```
这两种方式都可以判断元素 ID 是否存在,选择哪种方式取决于具体的应用场景和个人习惯。
阅读全文