在自定义指令

时间:2017-10-20 16:49:53

标签: angular primeng

我是棱角分明的新手,试图让一段代码更精确。我正在使用primeNG中的dataTable,并且必须为每个列添加大量自定义格式。

<p-dataTable id="tsd" [value]="employeeData.workPrograms" *ngIf="employeeData" [responsive]="true" >
    <p-column header="{{getDayFormatted(0)}}" [style]="{'width':'50px'}">
        <ng-template pTemplate="header">
                <div>formatted column header</div>
        </ng-template>
        <ng-template let-ta="rowData" let-i="rowIndex" pTemplate="body">
            <div class="timesheetCell">
                <div class="timesheetCellData">{{ta.day1}}</div>
            </div>
        </ng-template>
    </p-column>
    <p-column header="{{getDayFormatted(1)}}" [style]="{'width':'50px'}">
        <ng-template pTemplate="header">
                <div>formatted column header</div>
        </ng-template>
        <ng-template let-ta="rowData" let-i="rowIndex" pTemplate="body">
            <div class="timesheetCell">
                <div class="timesheetCellData">{{ta.day2}}</div>
            </div>
        </ng-template>
    </p-column>
</p-dataTable>

上面的工作,但我会有一两个星期的专栏,当我真正想做的就是更改每一列的日期数据时,这可能会进入线条的困境。我希望能够做到这样的事情:

<p-dataTable id="tsd" [value]="employeeData.workPrograms" *ngIf="employeeData" [responsive]="true" >
    <workDayColumn  [dayData]="rowData.day1" [dayOfPayPeriod]="0" ></workDayColumn>
    <workDayColumn [dayData]="rowData.day2" [dayOfPayPeriod]="1" ></workDayColumn>
</p-dataTable>

隐藏自定义指令中的所有重复代码。

我认识到这种方法存在各种错误,例如在读取标签时没有定义rowData,并且标签首先没有被识别为p-dataTable的有效子元素。

这种问题有一些简单的解决方案吗?开始认为构建我自己的表可能更容易,而不是使用预制组件。

0 个答案:

没有答案