Skip to content

Commit 1315a11

Browse files
author
Leonardo Rick
committed
expose image element on nuxtImg through defineExpose
1 parent 9be356e commit 1315a11

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/runtime/components/NuxtImg.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,9 @@ if (import.meta.server && import.meta.prerender) {
132132
133133
const initialLoad = useNuxtApp().isHydrating
134134
const imgEl = useTemplateRef('imgEl')
135+
136+
defineExpose({ imgEl })
137+
135138
onMounted(() => {
136139
if (placeholder.value || props.custom) {
137140
const img = new Image()

test/nuxt/image.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,16 @@ describe('Renders simple image', () => {
153153
const domNonce = img.element.getAttribute('nonce')
154154
expect(domNonce).toBe('stub-nonce')
155155
})
156+
157+
it('can access imgEl reference using defineExpose', () => {
158+
const img = mountImage({
159+
src: '/image.png',
160+
width: 300,
161+
height: 400,
162+
nonce: 'stub-nonce',
163+
})
164+
expect(img.getCurrentComponent().exposed?.imgEl).toBeDefined()
165+
})
156166
})
157167

158168
const getImageLoad = (cb = () => {}) => {

0 commit comments

Comments
 (0)