本篇文章和大家了解一下使用useDark()發現transition 動畫失效。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
<template> <div class="theme-change"> <button class="switch" @click="toggleTheme" role="switch" aria-label="切換暗色主題" :class="{ k: isDark }" > 按鈕 </button> </div> </template> <script setup lang="ts"> const isDark = useDark(); function toggleTheme() { isDark.value = isDark.value ? false : true; } </script> <style scoped lang="scss"> .theme-change { .switch { transition: all 3s; background: green; } } .k.switch { background: red; } </style>
上面這段代碼在點擊按鈕時不會出現背景顏色的過渡效果
// const isDark = useDark(); const isDark = ref(false);
這個時候才會有過渡效果。
useDark() 讓 html 元素添加了 dark 類名,如果不用 useDark(),通過下列的方式
// const isDark = useDark(); const isDark = ref(false); function toggleTheme() { document.documentElement.classList.toggle('dark') isDark.value = isDark.value ? false : true; }
也是有過渡效果的。
對于為什么用 useDark() 會導致過渡效果失效,一直找不到原因,有知道的嗎?
以上就是使用useDark()發現transition 動畫失效的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。