Javascript 超薄组件加载
有没有办法知道Svelte组件何时完成了其所有外部资源的加载,而不是Javascript 超薄组件加载,javascript,svelte,Javascript,Svelte,有没有办法知道Svelte组件何时完成了其所有外部资源的加载,而不是onMount 它类似于窗口的onload事件 编辑:为了澄清问题,我希望组件在完全加载其所有图像后执行某些操作 EDIT2:我决定使用javascript加载图像。在我看来,这不是最干净的做事方式,但它确实有效。 谢谢大家! EDIT2:我决定使用javascript加载图像。在我看来,这不是最干净的做事方式,但它确实有效。谢谢大家! 这就是路。Svelte并没有尝试包装一切JS,而是只包装它能够增加真正价值的东西。在这里,J
onMount
它类似于窗口的onload
事件
编辑:为了澄清问题,我希望组件在完全加载其所有图像后执行某些操作
EDIT2:我决定使用javascript加载图像。在我看来,这不是最干净的做事方式,但它确实有效。
谢谢大家!
EDIT2:我决定使用javascript加载图像。在我看来,这不是最干净的做事方式,但它确实有效。谢谢大家!
这就是路。Svelte并没有尝试包装一切JS,而是只包装它能够增加真正价值的东西。在这里,JS完全可以满足这一需求
您可以使用轻薄型,使其更易于重复使用:
让等待=0
const notifyLoaded=()=>{
console.log('loaded!')
}
const onload=el=>{
等待++
el.addEventListener('load',()=>{
等待--
如果(等待===0){
notifyLoaded()
}
})
}
如果需要跨多个组件重用此模式,可能需要将此模式包装到工厂():
util.js
export const createLoadObserver=handler=>{
让等待=0
const onload=el=>{
等待++
el.addEventListener('load',()=>{
等待--
如果(等待===0){
handler()
}
})
}
空载返回
}
App.svelte
从“/util.js”导入{createLoadObserver}
const onload=createLoadObserver(()=>{
console.log('loaded!!!'))
})
EDIT2:我决定使用javascript加载图像。在我看来,这不是最干净的做事方式,但它确实有效。谢谢大家!
这就是路。Svelte并没有尝试包装一切JS,而是只包装它能够增加真正价值的东西。在这里,JS完全可以满足这一需求
您可以使用轻薄型,使其更易于重复使用:
让等待=0
const notifyLoaded=()=>{
console.log('loaded!')
}
const onload=el=>{
等待++
el.addEventListener('load',()=>{
等待--
如果(等待===0){
notifyLoaded()
}
})
}
如果需要跨多个组件重用此模式,可能需要将此模式包装到工厂():
util.js
export const createLoadObserver=handler=>{
让等待=0
const onload=el=>{
等待++
el.addEventListener('load',()=>{
等待--
如果(等待===0){
handler()
}
})
}
空载返回
}
App.svelte
从“/util.js”导入{createLoadObserver}
const onload=createLoadObserver(()=>{
console.log('loaded!!!'))
})
更多信息谢谢@dagalti!但我的问题是:当我走到另一条路线并返回时,这个on:load
功能与onMount
不同,不会被触发。有什么办法可以解决这个问题吗?你所说的“外部资源”是什么意思?对于我的案例:图像。
更多信息谢谢@dagalti!但我的问题是:当我走到另一条路线并返回时,这个on:load
功能与onMount
不同,不会被触发。有什么办法可以解决这个问题吗?你所说的“外部资源”是什么意思?对于我的案例:图像。这正是我所需要的!非常感谢。这正是我需要的!非常感谢。