Не удается прочитать свойство 'navigate' из неопределенного при использовании пользовательских средств визуализации ячеек в ag-grid - PullRequest
0 голосов
/ 16 апреля 2019

Я использую ag-grid для рендеринга таблицы в моем угловом приложении 7.2.1.Пользовательский рендерер ячеек просто отображает кнопку редактирования в строках, которые будут перенаправлять на другую страницу

Я уже делал это раньше в другом приложении на другой версии Angular некоторое время назад, но по какой-то причине тот же код в этом приложении Angular 7 приводит к этому.Я думаю, что я могу упустить что-то действительно простое.

Я создал минималистичное воспроизведение ошибки, которую вижу в этом стеке бликов - https://stackblitz.com/edit/angular-v98mjs

Если вы нажмете кнопку «Редактировать», вы увидите эту ошибку в консоли.

ОШИБКА Ошибка: невозможно прочитать свойство 'navigate' из неопределенных версий ag-grid: -

Я использую следующую версию для ag-grid: -

"ag-grid-angular": "^ 20.2.0", "ag-grid-community": "^ 20.2.0",

Пожалуйста, посмотрите накод stackblitz в ссылке выше для кода.

1 Ответ

1 голос
/ 17 апреля 2019

Вы должны были определить onEdit с помощью Arrow Function

onEdit = (row): void => {
  console.log('row is being edited', {row})
    this.router.navigate(['/new-url', { id: row.incidentId }], {
        relativeTo: this.route.parent
    });
};

Еще пример, например: бесконечная прокрутка доступа к реквизитам на стороне сервера ag-grid

Взгляните на обновленный план: https://stackblitz.com/edit/angular-oppxte

Без arrow function, внутри onEdit функция AppComponent не смогла получить ссылку на this.router, и, следовательно, вы получили ошибку.

Невозможно прочитать свойство 'навигация' из неопределенного

Я также ввел RootComponent и NewComponent для лучшей модульности в примере. Надеюсь, с этим все будет ясно.

...