设置MdPaginatorIntl提供程序后,我得到"无法读取属性'订阅'未定义"

时间:2017-09-13 14:19:21

标签: angular angular-material2

我得到" TypeError:无法读取属性'订阅'未定义"后 我已经设置了MdPaginatorIntl提供程序,如下所示:

app.module.ts

import { MaterialModule, MdPaginatorIntl } from '@angular/material';
import { mdPaginatorIntlRo } from './i18l/mdPaginatorIntl';
...
@NgModule({
  ...
  providers: [
    { provide: MdPaginatorIntl, useClass: mdPaginatorIntlRo },
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

./ i18l / mdPaginatorIntl.ts

export class mdPaginatorIntlRo {
    itemsPerPageLabel = "Comenzi per pagină";
    nextPageLabel     = "pagina anterioară";
    previousPageLabel = "pagina următoare";

    getRangeLabel(page: number, pageSize: number, length: number): string {
      if (length === 0 || pageSize === 0) {
        return `0 la ${length}`;
      }
      length = Math.max(length, 0);
      const startIndex = page * pageSize;

      const endIndex = startIndex < length ?
        Math.min(startIndex + pageSize, length) :
        startIndex + pageSize;
      return `${startIndex + 1} - ${endIndex} din ${length}`;
    }
}

如果我删除此行:

{ provide: MdPaginatorIntl, useClass: mdPaginatorIntlRo }

分页符工作得很好,但它是英文的。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

我认为你已经失去了&#39;变化&#39;根据文件:API reference for Angular Material paginator的财产。也许不是重写整个类,而是扩展MdPaginatorIntl:

export class mdPaginatorIntlRo extends MatPaginatorIntl