class
你可以通过 class 语法快速切换模板内的 class 名。在 class:aaa="bbb" 中,当 bbb 表达式(或组件自身的 bbb 属性)为 true 时,会为目标元素添加 aaa 这个 className。
请注意,className 不能包含大写字母,请使用 - 作为分隔符。
以下是一个示例,演示了如何使用 class 语法在模板中切换元素的 class 名:
<template component>
<style>
.color-red{
color:red;
}
.color-blue{
color:blue;
}
</style>
<div
class:color-red="txt == 1"
class:color-blue="txt == 2"
on:click="switch1">Click Me</div>
<script>
export default {
tag:"test-class",
data:{
txt:"1"
},
proto:{
switch1(){
this.txt = (this.txt == 1) ? 2 : 1;
}
}
};
</script>
</template>
直接使用 class
你可以使用 class 方法来直接调整元素的 className。在下面的示例中,演示了如何使用 class 方法来动态添加和删除类名:
<script src="https://cdn.jsdelivr.net/gh/kirakiray/ofa.js@4.5.26/dist/ofa.min.js"></script>
<style>
.color-red{
color:red;
}
.color-blue{
color:blue;
}
</style>
<div id="target">I am target</div>
<script>
setTimeout(()=>{
$('#target').class('color-red',true);
},500);
setTimeout(()=>{
$('#target').class('color-red',false);
},1000);
setTimeout(()=>{
$('#target').class('color-blue',true);
},1500);
</script>
在这个示例中,我们首先通过 class 方法将 color-red 类添加到元素上,然后在一秒后将其移除,再过半秒后将 color-blue 类添加到元素上。这会动态更改目标元素的样式。
我们建议使用 classList 属性来操作类名,因为这是更常见和标准的方法。