解析使用useDark(),發(fā)現(xiàn)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>
上面這段代碼在點擊按鈕時不會出現(xiàn)背景顏色的過渡效果
如果把代碼改一下
// 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(),發(fā)現(xiàn)transition 動畫失效的詳細內(nèi)容,更多關于useDark() transition 動畫失效的資料請關注腳本之家其它相關文章!
相關文章
vue element-ui實現(xiàn)el-table表格多選以及回顯方式
這篇文章主要介紹了vue element-ui實現(xiàn)el-table表格多選以及回顯方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07vue-virtual-scroll-list虛擬組件實現(xiàn)思路詳解
這篇文章主要給大家介紹了關于vue-virtual-scroll-list虛擬組件實現(xiàn)思路的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2023-02-02利用Vite2和Vue3實現(xiàn)網(wǎng)站國際化的全過程
vite2已經(jīng)出來一段時間了,最近沒忍住嘗試了一下,這篇文章主要給大家介紹了關于利用Vite2和Vue3實現(xiàn)網(wǎng)站國際化的相關資料,需要的朋友可以參考下2021-08-08使用vue.js2.0 + ElementUI開發(fā)后臺管理系統(tǒng)詳細教程(一)
這篇文章主要介紹了使用vue.js2.0 + ElementUI開發(fā)后臺管理系統(tǒng)詳細教程(一)的相關資料,需要的朋友可以參考下2017-01-01Vue將將后端返回的list數(shù)據(jù)轉(zhuǎn)化為樹結(jié)構(gòu)的實現(xiàn)
本文主要介紹了Vue將將后端返回的list數(shù)據(jù)轉(zhuǎn)化為樹結(jié)構(gòu)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05