@vueuse/core
是一个组合式API的集合,用于在Vue 3中实现常用的复用逻辑1。它提供了一系列的响应式函数和组合式API,帮助开发者更方便地处理常见的交互逻辑和DOM事件。以下是一些使用@vueuse/core
的示例1:
- 安装 :
yarn add @vueuse/core@5.3.0
# 或者
npm install @vueuse/core@5.3.0
```
2. **使用`useWindowScroll`** <b class="card40_249__sup_a7f6" data-sup="sup">1</b>:
```javascript
import { useWindowScroll } from '@vueuse/core';
export default {
setup() {
const { y } = useWindowScroll();
return { y };
}
};
```
3. **使用`useIntersectionObserver`** <b class="card40_249__sup_a7f6" data-sup="sup">2</b>:
```javascript
import { useIntersectionObserver } from '@vueuse/core';
export default {
setup() {
const target = ref(null);
const isVisible = ref(false);
const { stop } = useIntersectionObserver(target, ([{ isIntersecting }]) => {
isVisible.value = isIntersecting;
});
// 停止监听
// stop();
return { isVisible };
}
};
```
4. **在模板中使用** :
```html
<template>
<div ref="target" v-show="isVisible">
<!-- 内容 -->
</div>
</template>
<script>
import { ref, onMounted } from 'vue';
import { useIntersectionObserver } from '@vueuse/core';
export default {
setup() {
const target = ref(null);
const isVisible = ref(false);
const { stop } = useIntersectionObserver(target, ([{ isIntersecting }]) => {
isVisible.value = isIntersecting;
});
onMounted(() => {
// 组件挂载后开始监听
});
// 停止监听
// stop();
return { isVisible };
}
};
</script>
```
这些示例展示了如何使用`@vueuse/core`中的不同函数来处理窗口滚动和元素可见性等常见交互逻辑。通过组合这些API,可以更高效地构建响应式和交互式的Vue应用。