Я использую шаблон BS4, который применяет классы к элементам <html>
и <body>
на основе событий на странице. Я безуспешно пробовал разные методы со страницы классов и стилей Vuejs здесь. . Я также попытался передать значение в качестве реквизита из App.vue на боковую панель, которая у меня есть как компонент.
Вот куда я попал, и v-bind не учитывает значение на корневом уровне.
В index.html
<body v-bind:class="{ sidebar-mini: this.$root.sidebarShrunk }">
В main.ts (точка входа)
new Vue({
data: {
sidebarShrunk: false,
},
router,
store,
render: (h) => h(App),
}).$mount('#app');
Обновление значения, как показано ниже, ничего не дает, класс sidebar-mini не применяется.
ИЗМЕНИТЬ
Благодаря ответам ниже - это работает, но еще один вопрос, это лучший способ сделать это или его можно немного реорганизовать.
new Vue({
data: {
sidebarShrunk: false,
},
watch: {
sidebarShrunk(sidebarShrunk) {
if (sidebarShrunk) {
document.body.classList.add('sidebar-mini');
} else {
document.body.classList.remove('sidebar-mini');
}
},
},
router,
store,
render: (h) => h(App),
}).$mount('#app');
{ 'sidebar-mini': this.$root.sidebarShrunk }
. Одинарные кавычки! Фу. - person K7Buoy   schedule 15.06.2018