【发布时间】:2022-08-08 18:37:59
【问题描述】:
import { useDark } from \'@vueuse/core\';
const isDark = useDark();
watch(isDark, () => {
console.log(\'dark mode changed\'); // does not trigger watch
}, { deep: true })
const scheme = computed(isDark, () => {
options: isDark.value ? \'dark\' : \'light\' // does not trigger update of scheme
})
</script>``
但是,像下面这样的自定义组合会触发手表和计算的更新。另外,这个 vueuse 库返回 WritableComputedRef 类型,我不知道这是否是这里的问题。
const isDarkMode = ref(false);
export function useDarkMode() {
const KEY = \'dark-mode\';
isDarkMode.value = (localStorage.getItem(KEY) ?? \'\') === \'dark\';
function toggleDarkMode() {
isDarkMode.value = !isDarkMode.value;
localStorage.setItem(KEY, isDarkMode.value ? \'dark\' : \'\');
}
return {
isDarkMode,
toggleDarkMode,
};
}
标签: vue.js computed-properties composable vueuse