ag-grid 自定义加载器作为指令
ag-grid custom loader as directive
我在我的项目中使用 ag-grid-angular。我在我的应用程序的不同页面中使用了 20 多次 ag-grid-angular 。在这里,我在加载数据之前使用自定义加载器。我需要使用自定义加载器作为指令,以便我可以在我所有的 ag-grid-angular 中重新使用。但是现在我只能在每个组件中声明加载模板。
<ag-grid-angular
style="width:100%;height:300px;"
class="ag-theme-alpine"
[columnDefs]="columnDefs"
[rowData]="rowData"
[overlayLoadingTemplate]="loadingTemplate"
[overlayNoRowsTemplate]="overlayNoRowsTemplate"
(gridReady)="onGridReady($event)"
[columnDefs]="columnDefs">
并在 component.ts
this.loadingTemplate = "<b>Example Loader</b>"
请提供一个代码在任何地方使用的建议。
谢谢!
是的,可以使用可以在构造函数中注入网格组件的指令:
ag-grid-loading.directive.ts
import { Directive } from "@angular/core";
import { AgGridNg2 } from "ag-grid-angular";
@Directive({
selector: "ag-grid-angular"
})
export class AgGridLoadingDirective {
constructor(private grid: AgGridNg2) {
grid.overlayLoadingTemplate = "<b>Example Loader</b>";
}
}
确保这个指令在你所有的 NgModule 中都是可见的。
现在,您可以从所有网格中删除 overlayLoadingTemplate
绑定。
我在我的项目中使用 ag-grid-angular。我在我的应用程序的不同页面中使用了 20 多次 ag-grid-angular 。在这里,我在加载数据之前使用自定义加载器。我需要使用自定义加载器作为指令,以便我可以在我所有的 ag-grid-angular 中重新使用。但是现在我只能在每个组件中声明加载模板。
<ag-grid-angular
style="width:100%;height:300px;"
class="ag-theme-alpine"
[columnDefs]="columnDefs"
[rowData]="rowData"
[overlayLoadingTemplate]="loadingTemplate"
[overlayNoRowsTemplate]="overlayNoRowsTemplate"
(gridReady)="onGridReady($event)"
[columnDefs]="columnDefs">
并在 component.ts
this.loadingTemplate = "<b>Example Loader</b>"
请提供一个代码在任何地方使用的建议。
谢谢!
是的,可以使用可以在构造函数中注入网格组件的指令:
ag-grid-loading.directive.ts
import { Directive } from "@angular/core";
import { AgGridNg2 } from "ag-grid-angular";
@Directive({
selector: "ag-grid-angular"
})
export class AgGridLoadingDirective {
constructor(private grid: AgGridNg2) {
grid.overlayLoadingTemplate = "<b>Example Loader</b>";
}
}
确保这个指令在你所有的 NgModule 中都是可见的。
现在,您可以从所有网格中删除 overlayLoadingTemplate
绑定。