[英]Svelte access the current element on event trigger
我在使用this
关键字访问元素值时遇到问题。
这就是我所拥有的(不起作用)
{#if item}
<img src={'http://example.com/'+item.profile_img}
on:error={this.src='/public/unknown.svg'}
alt="user" />
{/if}
如果图像不存在,我想使用'/public/unknown.svg'
并将错误设置为null
。 我不明白为什么this
关键字undefined
,正常的onerror
方法也不起作用。
这是我想在 svelte 中实现的普通 HTML 版本。
<img src="http://example.com/non-existent-image.jpg"
onerror="this.onerror=null;this.src='http://example.com/existent-image.jpg';" />
我试过各种方法都失败了,请帮忙。
像这样使用和内联 function 并获取目标然后设置 src
{#if item}
<img src={'http://example.com/'+item.profile_img}
on:error={(e) => {
e.target.src='/public/unknown.svg'
}}
alt="user" />
{/if}
或者,如果您更喜欢使用它,则需要使用function
才能访问正确的当前标签
{#if item}
<img src={'http://example.com/'+item.profile_img}
on:error={function() {
this.src='/public/unknown.svg'
}}
alt="user" />
{/if}
阅读更多关于箭头功能和这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.