, поэтому в моем Vue -проекте у меня в основном есть две страницы / компоненты, которые будут отображаться с использованием vue -router в зависимости от URL-адреса. Я могу переключаться между этими страницами / компонентами с помощью кнопки.
Я также использую vuex для управления некоторыми данными.
Теперь я включил переключатель в один из компонентов для переключения между темная и светлая тема от vuetify. В шаблоне для этого компонента я делаю:
<v-switch
label="Toggle dark them"
@change="toggleDarkTheme()"
></v-switch>
И в вызываемой функции я делаю:
toggleDarkTheme() {
this.$vuetify.theme.dark = !this.$vuetify.theme.dark;
console.log(this.$vuetify.theme.dark);
},
В приложении. vue Я включил <v-app dark>
и в моем основном. js у меня есть следующее:
Vue.use(Vuetify);
const vuetify = new Vuetify({
theme: {
// dark: true,
themes: {
light: {
primary: colors.purple,
secondary: colors.grey.darken1,
accent: colors.shades.black,
error: colors.red.accent3,
background: colors.indigo.lighten5,
},
dark: {
primary: colors.blue.lighten3,
background: colors.indigo.base,
},
},
},
});
Vue.config.productionTip = false;
new Vue({
router,
store,
vuetify,
render: (h) => h(App),
}).$mount('#app');
Итак, моя проблема теперь в том, что когда я нажимаю переключатель, тема действительно переключается из светлого режима в темный в этом компоненте. По умолчанию используется светлый режим, и когда я нажимаю переключатель один раз, я получаю темную тему. Однако, когда я нажимаю кнопку, чтобы переключиться на другой URL-адрес, будет использоваться светлая тема. Как правильно реализовать эту функцию?
Заранее спасибо!