Как изменить значение параметра в файлах sass из машинописного текста?

Я пытаюсь изменить значение переменной в файле "../myStyle.scss" из myComponent.ts . Я читал, что этого добиться невозможно, потому что файл sass компилируется в css препроцессором sass, и переменная исчезает. Нет ли способа обойти это.

Моя переменная называется $theme. И я хочу изменить его значение.

$тема: #5A352A; и я хочу, чтобы это стало $theme: #ffffff; когда пользователь нажимает

Обратитесь к этому сообщению: stackoverflow.com/questions/17787845/…

Loïc Monard 30.04.2019 12:05

Возможный дубликат Как управлять переменной Sass с помощью javascript

לבני מלכה 30.04.2019 12:07
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
1 018
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны работать по-другому.

По сути, когда вы компилируете приложение angular, оно генерирует файл css, в котором заменяет переменную значением, где бы вы его ни использовали.

Поэтому, если вы хотите добиться изменения цвета, вам нужно создать другую переменную и другие классы и провести ее в атрибутах вашего класса (это один из способов, проверьте также ngStyle и ngClass в угловой ссылке).

Например, белая тема/темная тема (наиболее распространенный случай). переменные -> $black: #00000; $white: #ffffff

Примеры классов:

.body-dark {
 background-color: $black;
}

.body-white {
 background-color: $white;
}

и проведите классы в элементах html.

setDark(){
document.getElementById("bodyId").setAttribute("class","body-dark ")
}

то же самое для белого.

Спасибо. Я уже знаю этот способ, но мне кажется, что все, что вы хотите изменить на своем экране, должно иметь этот атрибут. И становится тяжелее, когда в вашей теме много цветов.

esdras 30.04.2019 12:39

возможно, вы можете работать с ngStyle и ngClass, это может помочь найти решение, соответствующее вашим потребностям codecraft.tv/courses/angular/встроенные-директивы/…

Riccardo Albero 30.04.2019 12:45

Другие вопросы по теме