gpt4 book ai didi

svelte - Svelte 是否有助于动态 CSS 样式?

转载 作者:行者123 更新时间:2023-12-04 10:14:34 29 4
gpt4 key购买 nike

在 Svelte 中,应如何根据组件状态更改元素上的类?

例如,您可能希望在特定条件下将类应用于按钮,如下例所示。

<button class="{{class}}">

现在,这可以通过创建 computed property 来实现。在某些条件下,它将返回类名或空字符串。

但是,我担心这是否会污染计算属性命名空间。例如,如果有一个 status ,可能需要同时设置动态文本,例如 statusMessage ,还有一个类,比如 statusClass .

有没有更好的方法来做到这一点,或者计算属性是要走的路?是否计划为 Svelte 提供更明确的 CSS 支持?

最佳答案

您可以使用内联表达式,如下所示:

<button class='{{active ? "active": "inactive"}}'>
{{active ? 'Selected' : 'Select this'}}
</button>

这通常比使用计算属性更好,因为只需查看模板就可以立即清楚可能的值是什么。

如果表达式变得笨拙,您还可以使用辅助函数 - 在某些情况下,您可能更喜欢这些而不是计算值:

<button class='{{getClass(status)}}'>{{getText(status)}}</button>

<script>
export default {
helpers: {
getClass(status) {
// ...
},
getText(status) {
// ...
}
}
};
</script>

关于svelte - Svelte 是否有助于动态 CSS 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45324684/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com