Маршрут не работает, что не так в моем коде - PullRequest
0 голосов
/ 24 июня 2019

У меня есть этот маршрут в моем app-routing.module.ts, в котором что-то отсутствует, потому что, когда я перехожу на эту страницу,

https://angular -v4-dot-unique-yew-244216.appspot.com/search

Я получаю сообщение об ошибке, но когда я захожу сюда, это работает

https://angular -v4-dot-unique-yew-244216.appspot.com

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { SearchBooksComponent } from './search-books/search-books.component';

const routes: Routes = [
  {
    path: '',
    redirectTo: '/search',
    pathMatch: 'full'
  },
  {
    path: 'search',
    component: SearchBooksComponent
  }
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

Что не так с маршрутом?

Вот мой app.yaml

runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
  static_files: dist/index.html
  upload: dist/index.html
- url: /
  static_dir: dist

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Вы должны перенаправить на search вместо /search:

const routes: Routes = [
  {
    path: '',
    redirectTo: 'search',
    pathMatch: 'full'
  },
  {
    path: 'search',
    component: SearchBooksComponent
  }
];

Порядок маршрутов имеет значение только в случае конфликта двух маршрутов, как в search и **. search будет соответствовать обоим маршрутам, и выигрывает первый.

Вы можете использовать стратегию определения местоположения хеша, например this . Стратегия определения местоположения также объясняется в этом вопросе.

0 голосов
/ 24 июня 2019

Порядок, в котором мы устанавливаем маршруты, имеет решающее значение.попробуй это!.наконец установите маршрут по умолчанию.

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { SearchBooksComponent } from './search-books/search-books.component';

const routes: Routes = [
 { path: 'search', component: SearchBooksComponent },
 { path: '', redirectTo: 'search',pathMatch: 'full'}
];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...