Angular 9 404 по ДЕЙСТВИТЕЛЬНОМУ маршруту - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть маршрут, который работает в dev, как и должно быть, например: / view-entry / in production, эта же ссылка (с указанием VALID) получает 404.

Вот маршрутизатор:

export const appRoutes: Routes = [
  { path: '', component: HomeComponent },
  { path: 'new-entry', component: NewEntryComponent, canActivate: [AuthGuard] },
  { path: 'view-entry/:id', component: NewEntryComponent, canActivate: [AuthGuard] },
  { path: '**', redirectTo: 'home', pathMatch: 'full' },
];

'NewComponent' на маршруте является правильным. Я использую его для редактирования и создания, и он работает очень хорошо (в dev). Я загружаю данные только в форму, если путь не 'new-entry':

constructor(private route: ActivatedRoute,
            private apiService: ApiService,
            private uiService: UiService) { }

ngOnInit(): void {
const nav = this.route;

this.uiService.clearEntry.subscribe(() => {
  this.clearForm();
});

if (nav.routeConfig.path === 'new-entry') {
  this.loadEmptyData();
} else {
  this.route.params.subscribe(data => {
    // console.log('Id: ' + data['id']);
    this.loadEmptyData();
    this.loadData(data['id']);
  }, error => {
    //
  });
}

}

У меня работает аутентификация Auth0 на сайте. Все остальные функции (CRUD) для БД через мой API прекрасно работают. Это очень базовый c сайт, и его очень мало. Помимо ввода некоторых базовых c данных и их показа.

Вся помощь приветствуется!

Брэд

1 Ответ

0 голосов
/ 05 апреля 2020

Наконец-то я все заработал! Это все о роутере. Он не любит теги href. Я использовал теги href, потому что я понятия не имел, что это будет проблемой, и он отлично работал в dev. Я изменил его, и он работает как в dev, так и в prod.

Код, который был изменен (в шаблоне для записи в списке):

OLD:

<a href="/view-entry/" + entry.id]>

NEW:

<a [routerLink]="['/view-entry/', entry.id]">

Надеюсь, это поможет людям в будущем.

...