指南
触发脚本加载
Nuxt 脚本提供了多种方法来触发脚本加载。
Nuxt 脚本提供了多种方法来触发脚本加载。
import { useTimeout } from '@vueuse/core'
const { ready } = useTimeout(3000)
useScript({
src: 'https://example.com/script.js',
}, {
// load however you like!
trigger: ready, // refs supported
})
默认行为
默认情况下,脚本在 Nuxt 完全水合后加载。您可以通过修改 defaultScriptOptions 来更改此默认值。
元素事件触发器
The useScriptTriggerElement 可组合函数允许您挂钩到元素事件,作为加载脚本的一种方式。这对于在用户与特定元素交互时加载脚本很有用。
const somethingEl = ref<HTMLElement>()
const { trigger } = useScript({
src: 'https://example.com/script.js',
}, {
trigger: useScriptTriggerElement({
trigger: 'hover',
somethingEl,
})
})
它支持以下触发器
visible
- 当元素在视窗中可见时触发。mouseover
- 当鼠标悬停在元素上时触发。
手动触发
The manual
触发器允许您手动触发脚本加载。这使您可以完全控制何时加载脚本。
const { load } = useScript('https://example.com/script.js', {
trigger: 'manual'
})
// ...
load()
Promise
您可以使用 Promise 来触发脚本加载。这对于您可能想要使用的任何其他自定义触发器很有用。
const myScript = useScript('/script.js', {
// load after 3 seconds
trigger: new Promise(resolve => setTimeout(resolve, 3000))
})
Ref
您可以使用 ref 来触发脚本加载。这对于您可能想要使用的任何其他自定义触发器很有用。
const myRef = ref(false)
const myScript = useScript('/script.js', {
trigger: myRef
})
// ...
myRef.value = true