Ошибка: Неперехваченный (в обещании): Ошибка: не удается сопоставить какие-либо маршруты: ‘about’

#angular #nativescript

#angular #nativescript

Вопрос:

Я новичок в Angular2 Nativescript TypeScript и пытаюсь воспроизвести свое приложение cordova. Я пытаюсь перейти со страницы входа на страницу About и получаю эту ошибку:

 Error: Uncaught (in promise): Error: Cannot match any routes: 'about'
  

В моем app.routes.ts файле у меня есть этот код:

 import { Routes } from "@angular/router";

export const appRoutes: Routes = [
    {
        path: "",
        redirectTo: "/login",
        pathMatch: "full"
    },
    {
        path: "about",
        redirectTo: "/about",
        pathMatch: "full"
    }
];
  

Затем в моем login.component.ts я пытаюсь перейти на страницу about, используя экземпляр маршрутизатора:

 this.router.navigate(["/about"]);
  

Затем я получаю сообщение об ошибке. Я что-то упускаю?

Спасибо!

Ответ №1:

 {
        path        : "about",
        redirectTo  : "/about",
        pathMatch   : "full"
}
  

Измените его на или добавьте,

 {
        path        : "about",
        component   : AboutComponent    //<====whatever component you have. Maybe the relevant component is not found
}
  

Комментарии:

1. Я уже пробовал это, вот что я получаю: компонент AboutComponent не является частью какого-либо NgModule или модуль не был импортирован в ваш модуль.

2. Хорошо. Для этого требуется больше кода. где вы используете маршрутизатор-розетку?

3. Я использую Visual Studio и инструмент Telerik AppBuilder, он создает несколько файлов в папке приложения: app.component.ts, app.modules.ts, app.routes.ts, main.ts. Я предполагаю, что запрашиваемый вами маршрутизатор-выход находится в app.component.ts: @Component({ селектор: «ns-main», шаблон: «<страница-маршрутизатор-выход></страница-маршрутизатор-выход>», })

4. Вы поместили AboutComponent в массив «delarations» NgModule ?

5. @TrongLamPhan Это была та часть, которую я пропустил, спасибо!