Я хотел бы изменить стиль css с помощью ViewChild или Renderer2, но я не могу. У вас есть пример кода?
Ниже приведен код, который не работает.
constructor(private renderer: Renderer2) {}
public onClick(){
this.renderer.setStyle('main-wrapper', 'color', 'blue');
}
Первый аргумент должен быть элементом. Например, если ваш элемент имеет идентификатор основной оболочки, вы можете сделать следующее:
const element = document.getElemenetById('main-wrapper');
this.renderer.setStyle(element, "color", "blue");
Хотя я бы рекомендовал вместо этого использовать ViewChild:
<div #mainWrapperElement>
....
</div>
import { ViewChild } from '@angular/core';
@ViewChild('mainWrapperElement') myElement: HTMLElement;
затем...
this.renderer.setStyle(this.myElement, "color", "blue");
На стороне примечание, угловой имеет действительно классные способы манипулирования стилями, которые я бы предложил посмотреть (ngStyle или привязка стиля).