:root Angular 5

223
04 марта 2019, 20:50

Мне нужно динамически применить некоторые CSS custom properties в :root{} Как я могу это сделать? Заранее,спасибо

Answer 1

:root - это глобальная область видимости, поэтому нужно такое делать вручную:

import { Inject, Renderer2 } from '@angular/core';
import { DOCUMENT } from '@angular/platform-browser';
class Component {
    constructor(@Inject(DOCUMENT) private document: Document, private renderer: Renderer2) {
        this.renderer.setStyle(this.document.documentElement, 'background', 'red');
    }
}

А еще лучше вариант - это не писать стили вручную, а объявить просто класс в styles.scss:

:root {
    &.some-class {
        background-color: red;
    }
}

В компоненте можно делать toggle класса по определенному условию:

this.document.documentElement.classList.toggle('some-class');
READ ALSO
Переход от Jquery на чистый JS($(this))

Переход от Jquery на чистый JS($(this))

Меня попросили избавиться от Jquery и написать весь код на js, проблема в том, что я не очень понимаю как мне заменить $(this)Например

188
on_action_executed в odoo 10.0

on_action_executed в odoo 10.0

В версии odoo 80, в ActionManager в свое время была функция on_action_executed

189
JavaScript Node js Нейронные сети сохранение в файл

JavaScript Node js Нейронные сети сохранение в файл

Написал скрипт, используя библиотеку для обучения генетическим алгоритмом geneticjs

225