Лучшей практикой является использование второго подхода, который заключается в использовании elementRef и Renderer, поскольку он дает больший контроль над элементами html dom, рассмотрим приведенный ниже пример
import { Component, AfterViewInit, ElementRef, ViewChild } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent implements AfterViewInit {
name = 'Angular 8 by Example: ElementRef';
@ViewChild("myDiv") divView: ElementRef;
ngAfterViewInit(){
console.log(this.divView);
this.divView.nativeElement.innerHTML = "Hello Angular 8!";
}
}
Я бы предложил использовать elementRef иРендерер только тогда, когда вам нужно нацелиться на несколько элементов dom, но в вашем случае для простого раскрывающегося списка (который, я думаю, единственный элемент, который вам нужно изменить) вы можете использовать первый метод.