Альтернатива ElementRef - Angular
В моем приложении ng2 я использую внешнюю библиотеку, которая не раскрывает свои HTML-элементы.
Я использую это как:
<custom-component>
<div custom-title> Title </div>
<div custom-content> Content </div>
</custom-component>
Теперь, когда он рендерится в HTML, он добавляется как:
<custom-component>
<div class='customComponentWrapper'>
<div class='content'>
<div custom-title> Title </div>
<div custom-content> Content </div>
</div>
</div>
</custom-component>
Для динамического изменения позиции я создал локальную переменную ссылки на шаблон.
<custom-component>
<div #customComponent custom-title> Title </div>
<div custom-content> Content </div>
</custom-component>
И изменяя его ширину как:
@ViewChild('customComponent') customComponent: ElementRef;
const elem = this.customComponent.nativeElement.parentElement.parentElement.parentElement;
elem.style.marginRight = width + 'px';
Теперь A/ C для angular.io док
ElementRef
будет устаревшим. Я не могу найти другого способа сделать это. Есть ли другой способ достичь того же?
У меня также несколько ссылок на SO. Но не дошел до решения.