v-once / r-once
import { type FC, ref } from '@rue-js/rue';
const VOnceAndROnce: FC = () => {
const onceMessage = ref('首次渲染');
const onceCount = ref(0);
return (
<div className="grid gap-4">
<button
className="btn btn-sm"
onClick={() => {
onceCount.value += 1;
onceMessage.value = `已更新 ${onceCount.value} 次`;
}}
>
更新数据
</button>
<div className="grid md:grid-cols-2 gap-3">
<div className="space-y-2">
<div className="text-sm opacity-70">当前值:{onceMessage.value}</div>
<span v-once className="badge badge-primary badge-lg">
{onceMessage.value}
</span>
</div>
<div className="space-y-2">
<div className="text-sm opacity-70">当前计数:{onceCount.value}</div>
<span r-once className="badge badge-secondary badge-lg">
count: {onceCount.value}
</span>
</div>
</div>
</div>
);
};
export default VOnceAndROnce;