首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svelte中svg图像转换的正确方法

svelte中svg图像转换的正确方法
EN

Stack Overflow用户
提问于 2022-08-08 13:31:12
回答 1查看 257关注 0票数 0

在svelte中,我可以选择在两个图像之间切换,或者使用css来更改svg图像的颜色。哪个是“更好/最佳做法”?(我们也使用顺风css)。

代码语言:javascript
复制
    <div class='w-2 h-2'>
     {#if condition}
      <Image1/>  <--white image
     {:else}
      <Image2/>  <--red image
     {/if}
    </div>

或者,如果默认图像是白色的,则将红色传递给它。根据某些条件,颜色变量将是文本-红色或文本-白色。

代码语言:javascript
复制
    <div class='w-2 h-2 ${color}'> 
      <Image1/>
    </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-09 08:41:15

Svelte的反应性可以通过CSS取代颜色条件。我们可以避免如果条件。

App.svelte

代码语言:javascript
复制
<script>
import Icon from "./Icon.svelte"

let stroke = "green";

function changeStroke(){
    stroke = "red"
}

</script>

<Icon {stroke}/>

<button on:click={changeStroke}>Change</button>

Icon.svelte

代码语言:javascript
复制
<script>
export let stroke = 'white';
</script>

<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" {stroke} stroke-width="2">
  <!-- Big SVG -->
</svg>

参见下面的示例REPL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73278702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档