Угловой материал Пагинатор не определен - PullRequest
0 голосов
/ 12 декабря 2018

Я использую угловой материал (MatTable, MatPaginator).когда я захожу в приложение и загружается представление моего компонента, в отладчике браузера появляется следующая ошибка:

    ERROR TypeError: "_this._paginator is undefined; can't access its "pageIndex" property"

    ExampleDataSource http://localhost:4200/main.js:1446
    __tryOrUnsub http://localhost:4200/vendor.js:160732
    next http://localhost:4200/vendor.js:160670
    _next http://localhost:4200/vendor.js:160603
    next http://localhost:4200/vendor.js:160578
    _subscribe http://localhost:4200/vendor.js:159751
    _trySubscribe http://localhost:4200/vendor.js:159963
    _trySubscribe http://localhost:4200/vendor.js:160384

Моя цель - избавиться от этой ошибки.

какслишком много кода может быть причиной этой ошибки, пожалуйста, посмотрите мой компонент на моем Github: https://github.com/chrs-k/Behaeltermanagement/tree/master/Behaeltermanagement/client/src/app/table

Проблема должна быть найдена в table.component.ts

Спасибоочень заранее!

1 Ответ

0 голосов
/ 12 декабря 2018

Paginator помечен @ViewChild и, следовательно, не будет загружен, пока не будет вызван ngAfterViewInit ().Однако вы помещаете экземпляр создания нового ExampleDataSource в loadData (), который вызывается в ngOnInit. Но в соответствии с порядком методов ловушки образа жизни Angular, ngOnInit () будет вызываться перед ngAfterViewInit (). Вы вызывали его как минимум дважды уже перед ngAfterViewInit ()!Поэтому поместите this.loadData () в ngAfterViewInit, и сверху вы должны иметь

dataSource: ExampleDataSource;

Удалите все, что зависит от this.paginator, вместо этого находиться в ngAfterViewInit.

...