⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

封装指令为组合式函数:v-intersect变useIntersect

将自定义指令的逻辑抽取为可复用组合式API。 · 难度:入门 · +10XP

封装指令为组合式函数:v-intersect变useIntersect

Vue指令适合DOM操作,但复用性不如组合式函数。本教程演示如何将IntersectionObserver指令重构为useIntersect组合式函数,直接在setup中调用。同时对比两种方式的适用场景:需要模板简洁时用指令,需要逻辑复用和测试时用组合式函数。

// 组合式函数方式
import { ref, onMounted, onUnmounted } from 'vue'
export function useIntersect(elRef, options = {}) {
  const isVisible = ref(false)
  let observer = null

onMounted(() => { observer = new IntersectionObserver(([entry]) => { isVisible.value = entry.isIntersecting }, options) observer.observe(elRef.value) })

onUnmounted(() => observer?.disconnect()) return isVisible }

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 125 篇
0 完成
🔥 0