Собственно в ошибке написано. Поле не объявлено как nullable и при этом значение его явно не задаётся Можно заглушить через !, насколько я понимаю, в данном случае нормальное решение, т.к. устанавливается ангуляром
Я понимаю ошибку. Но так написано в примере и если указать null дальше ошибка выходит, так как пагинатор не должен быть null (examlpes Pagination) https://material.angular.io/components/table/overview
В примере старая версия тайпскрипта, или отключено это правило в конфиге
А что делать?)
поставить знак вопроса перед двоеточием, например, тогда ошибка тут исчезнет, но нужно будет везде условно обращаться к значению ( через ?. например)
paginator!: Paginator. или отключить в tsconfig "strictPropertyInitialization": false
не вопроса, а восклицательный)
зависит от того, что хочется добиться. вообще, не всегда очевидно, что в любой момент времени значение будет в поле. так что логичней именно вопроса.
Ошибки нет, но pagination не работает)
Сначала вы определили поля для пагинатора и таблицы. Восклицательным знаком вы даете компилятору понять, что пагинатор будет определен далле по коду до времени его вызова. Иначе он не инициализирован.
Далее вы его инициализируете когда получаете данные для таблицы
И в шаблоне выводите
А если я, например, добавляю новое туду?
addData() { const randomElementIndex = Math.floor(Math.random() * ELEMENT_DATA.length); this.dataSource.push(ELEMENT_DATA[randomElementIndex]); this.table.renderRows(); } removeData() { this.dataSource.pop(); this.table.renderRows(); }
Обсуждают сегодня