使上下文可用于传递给ng-content的模板

时间:2018-06-01 21:51:28

标签: angular

我在app.module.ts中有2个模块,即

  1. status.module.ts和
  2. table.module.ts
  3. 以下是我的表组件:

    def my_function: pass
    my_function = my_decorator(my_function)
    

    现在我需要从status.component.html传递以下ng-content(在table.component.html中):

    <ngx-datatable class="material"
               [rows]="rows"
               [columns]="columns"
               [rowClass]="rowClass ? rowClass : null"
               [columnMode]="'force'"
               [headerHeight]="50"
               [footerHeight]="50"
               [rowHeight]="null"
               [limit]="10"
               [loadingIndicator]="loadingIndicator"
               [groupRowsBy]="groupRowsBy"
               [groupExpansionDefault]="groupExpansionDefault">
    
        <!-- Group Header Template -->
        <ngx-datatable-group-header *ngIf="groupRowsBy" >
            <ng-template let-group="group" let-expanded="expanded" ngx-datatable-group-header-template>
                <ng-content></ng-content>
            </ng-template>
        </ngx-datatable-group-header>
    </ngx-datatable>
    

    这里的问题是status.component.html无法识别组,因为group在table.component.html中声明了

    我有办法让它发挥作用吗?

1 个答案:

答案 0 :(得分:0)

在状态组件中,创建模板引用变量(appTable)为:

<app-table #appTable>
    <span>
        <button class="btn btn-link link" (click)="status.openStatus(appTable.Group)">{{appTable.Group.key}}</button>
    </span>
</app-table>

table.component 创建setter和getter

_group: any;

set Group(value) {
    this._group = value;
}

get Group() {
    return this._group;
}