Упрощена реализация Image. Возможна проблема со слишком быстрой загрузкой изображения перед тем как сработал addEventListener.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<img
|
||||
bind:this={node}
|
||||
onload={() => loaded = true}
|
||||
class:loaded
|
||||
class="noscript-visible"
|
||||
{loading}
|
||||
@@ -20,20 +20,7 @@
|
||||
...others
|
||||
} = $props()
|
||||
|
||||
let node = $state()
|
||||
let loaded = $state(false)
|
||||
|
||||
$effect(() => {
|
||||
if (!node) {
|
||||
return
|
||||
}
|
||||
|
||||
if (node.complete) {
|
||||
loaded = true
|
||||
} else {
|
||||
node.addEventListener('load', () => loaded = true, { once: true })
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
Reference in New Issue
Block a user