Я столкнулся с проблемой с ng-template.
Мы передаем некоторые параметры через ngTemplateOutletContext, как показано ниже в компоненте таблицы. Мы используем разные средства визуализации для ячеек в зависимости от типа данных, содержащихся внутри. Обратите внимание на параметр cellvalue, так как он мне нужен.
<ng-container *ngIf="useCellRenderer(column, row)">
<ng-template [ngTemplateOutlet]="column.renderer.templateref" [ngTemplateOutletContext]="{ cellvalue: row[column.attr], rowvalue:row }">
</ng-template>
</ng-container>
Шаблон компонента, отвечающего за рендеринг, выглядит следующим образом:
<ng-template #templateRef let-cellvalue="cellvalue" let-rowvalue="rowvalue">
{{ getTraslateValue(cellvalue)}}
</ng-template>
Шаблон может получить доступ к параметру cellvalue и правильно вызвать функцию, но я хочу получить доступ к тому же параметру из TS компонента и, похоже, не могу этого сделать.
То, что я пробовал до сих пор, идет по линии следующего фрагмента
@ViewChild('templateRef', { read: TemplateRef })
public templateref: TemplateRef<any>;
ngAfterViewInit() {
console.log('ngAfterViewInit', this.templateref.elementRef);
}
Но в консоли нет ни одного значения ячейки. Log
Заранее спасибо!