【问题标题】:Calling angular-datatable ajax call on other api response在其他 api 响应上调用 angular-datatable ajax 调用
【发布时间】:2022-07-25 04:51:12
【问题描述】:

我正在使用角度数据表 (http://l-lin.github.io/angular-datatables/#/basic/server-side-angular-way)。

而不是在 ngOnInit 中分配给 this.dtOptions,我想在另一个 api 的响应中这样做,但是 ajax 调用没有通过。

我的代码:-

ngOnInit(){
this.firstCall();
}

firstCall(){
  this.api.serviceMethod().subscribe((data : model1) => {
   this.dtOptions = {
      pagingType: 'full_numbers',
      pageLength: data.pageLength,
      serverSide: true,
      processing: true,
      ajax: (dataTablesParameters: any, callback) => {
        that.http
          .post<DataTablesResponse>(
            'api.com/api',
            dataTablesParameters, data.req_body, {}
          ).subscribe(resp => {
            that.persons = resp.data;

            callback({
              recordsTotal: resp.recordsTotal,
              recordsFiltered: resp.recordsFiltered,
              data: []
            });
          });
      },
      columns: [{ data: 'id' }, { data: 'firstName' }, { data: 'lastName' }]
    };
})
}

当我将 dtOptions 赋值放入 ngOnInit 时,它会被调用,我在这里缺少什么。

提前谢谢你。

【问题讨论】:

  • 我建议为使用 jQuery 的表使用另一个库,我真的很想认识到制作和维护库的努力,但没有任何意义(从未有过)使用 jquery

标签: javascript angular datatable datatables-1.10 angular-datatables


【解决方案1】:

您必须在超级标签中设置一个检查(例如:当您在 tr 标签中循环时:tbody 或 table)。
组件.html

<table *ngIf="!loading" ...>
  ...
...

组件.ts

  loading = true;
... .subscribe(resp => {
        that.persons = resp.data;
        loading = false;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多