Как добавить CSS с использованием ownElement в Angular: методы и примеры

Чтобы добавить CSS с помощью nativeElementв Angular, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1: использование Renderer2

  1. Импортируйте службу Renderer2 из @angular/coreв файл компонента.
  2. Внедрите службу Renderer2 в конструктор вашего компонента.
  3. Используйте метод renderer.setStyle(), чтобы добавить стили CSS в nativeElement.

Пример:

import { Component, Renderer2, ElementRef } from '@angular/core';
@Component({
  selector: 'app-your-component',
  template: '<div #myElement>Hello, World!</div>'
})
export class YourComponent {
  constructor(private renderer: Renderer2, private el: ElementRef) {}
  addCss() {
    const element = this.el.nativeElement;
    this.renderer.setStyle(element, 'color', 'red');
    this.renderer.setStyle(element, 'font-size', '20px');
  }
}

Метод 2: использование ViewChild

  1. Импортируйте ViewChild и ElementRef из @angular/coreв файл компонента.
  2. Используйте декоратор @ViewChild(), чтобы получить ссылку на элемент в вашем шаблоне.
  3. Доступ к свойству nativeElementэлемента ElementRef и непосредственному применению стилей CSS.

Пример:

import { Component, ViewChild, ElementRef } from '@angular/core';
@Component({
  selector: 'app-your-component',
  template: '<div #myElement>Hello, World!</div>'
})
export class YourComponent {
  @ViewChild('myElement', { static: true }) myElement: ElementRef;
  addCss() {
    const element = this.myElement.nativeElement;
    element.style.color = 'red';
    element.style.fontSize = '20px';
  }
}

Эти методы позволяют динамически добавлять стили CSS к элементам с помощью свойства nativeElementв Angular. Не забывайте использовать эти подходы разумно и учитывать лучшие практики стилизации в Angular.