Я думаю, что прибил это !! Но я не совсем уверен, рекомендуется ли это или нет. Я даже не знаю, с какой стороны делать эту настройку. Но это сработало! :)
created() {
// assume that this colors are coming from an async ajax call
let colors = {
primary: 'red',
secondary: 'blue'
}
this.setThemeColors(colors);
},
methods: {
setThemeColors(colors) {
let style = document.documentElement.style;
for (let key of Object.keys(colors)) {
style.setProperty("--theme-color-" + key, colors[key]);
}
}
}
Все настроено из root вашей таблицы стилей. Проверьте ниже, чтобы использовать его,
<style lang="scss">
$color-primary: var(--theme-color-primary);
$color-secondary: var(--theme-color-secondary);
.color-primary {
color: var(--theme-color-primary)
}
.color-secondary {
color: var(--theme-color-secondary)
}
</style>
Но возникла другая проблема: css переменные не работают в IE11 и ниже!