Ember-cli компилирует app.scss
в css
во время процесса сборки, и вы не можете влиять на него во время работы приложения.
Если цвета предопределены (то есть пользователь может выбрать цветовую схему из списка), вы можете создать предопределенные css-классы для тега body
, а затем просто изменить css-класс элемента body
.
Вы можете использовать следующий компонент для изменения css-класса body
tag
import $ from 'jquery';
import Component from '@ember/component';
export default Component.extend({
didReceiveAttrs() {
const oldClass = this._oldBodyClass;
if (typeof oldClass === 'string') {
$('body').removeClass(oldClass);
}
const bodyClass = this.bodyClass;
if (bodyClass) {
$('body').addClass(bodyClass);
this.set('_oldBodyClass', bodyClass);
}
},
willDestroyElement() {
const bodyClass = this.bodyClass;
if (bodyClass) {
$('body').removeClass(bodyClass);
}
},
});
Где-то в шаблоне (возможно, в приложении):
{{body-class bodyClass=(user.bodyClass)}}