如何在Angular中处理嵌套ng模板

如何在Angular中处理嵌套ng模板,angular,angular-components,ngx-datatable,ng-template,angular-dynamic-components,Angular,Angular Components,Ngx Datatable,Ng Template,Angular Dynamic Components,我正在制作一个ngx datatabel包装器,我想从父组件传递列模板。这是我通过ng模板出口所做的。但由于某种原因,它没有被渲染 以下是我在家长会上通过tempalate的方式 <app-list> <ng-template #customColumns> <ngx-datatable-column name="age" > <ng-template let-value="value" n

我正在制作一个ngx datatabel包装器,我想从父组件传递列模板。这是我通过ng模板出口所做的。但由于某种原因,它没有被渲染

以下是我在家长会上通过tempalate的方式

<app-list>
  <ng-template #customColumns>
    <ngx-datatable-column name="age" >
      <ng-template let-value="value" ngx-datatable-cell-template>
        Test
      </ng-template>
    </ngx-datatable-column>
  </ng-template>
</app-list>


试验
下面是子组件html

<ngx-datatable [rows]="rows" [columns]="cols">

  <ng-container [ngTemplateOutlet]="customColumnsTemplate">
  </ng-container>

</ngx-datatable>

子组件ts

@ContentChild('customColumns')
  customColumnsTemplate: TemplateRef<any>;
@ContentChild('customColumns'))
customColumnsTemplate:TemplateRef;
如果我只是直接在子组件中复制粘贴模板,它可以正常工作,但不能与ngTemplateOutlet一起工作


当前使用Angular10.1.6

创建包含模板的列数组。它可以是一个对象数组,如下所示:

let columns = [{ name: "Column Name", cellTemplate: someCellTemplate, headerTemplate: someHeaderTemplate...}]
本例中的模板将是应用程序列表组件中的模板

 <ng-template #myCellTemplate let-row="row" let-column="column" let-value="value">
    Test
 </ng-template>

试验
您可以使用ViewChild访问应用程序列表组件中的模板

@ViewChild('myCellTemplate') myCellTemplate: TemplateRef<any>;
@ViewChild('myCellTemplate')myCellTemplate:TemplateRef

这里的文档

<ngx-datatable [rows]="rows" [columns]="columns">
</ngx-datatable>