Почему я не могу пойти по маршруту дочернего компонента? - PullRequest
0 голосов
/ 13 октября 2018

У меня есть следующая структура проекта: GalleryModuleModule есть родительский компонент GalleryComponent, в котором есть два дочерних компонента: GalleryAddComponent и GalleryItemComponent.Когда я хочу переключиться с компонента GalleryComponent на компонент GalleryAddComponent, адрес в адресной строке изменяется, но родительский компонент не исчезает и переход к дочернему компоненту не происходит.Помогите понять, в чем проблема и как ее решить.

GalleryRoutingModule:

const galleryRoutes: Routes = [
    {
        path: 'gallery',
        component: GalleryComponent,
        children: [
            {path: 'gallery-add', component: GalleryAddComponent},
            {path: 'galleryItem/:id', component: GalleryItemComponent},
        ]
    }
];

@NgModule({
    imports: [
        CommonModule,
        RouterModule.forChild(galleryRoutes)
    ],
    exports: [RouterModule],
})

шаблон галереиКомпонент:

                <a routerLink="gallery-add" class="btn btn-outline-success tog">
                    Add New Post
                </a>
        <a [routerLink]="['./galleryItem', pic.id]">
            <img [src]="pic.url" alt="test" class="img-responsive">
            <p class="lead"><span>{{pic.id}}:</span>{{pic.title}}</p>
        </a>

1 Ответ

0 голосов
/ 13 октября 2018

У вас должен быть другой компонент для удержания <router-outlet></router-outlet>. Вы можете показать GalleryComponent там, если путь ''.От вас GalleryComponent вы можете иметь ссылку на два других компонента: GalleryItemComponent, GalleryAddComponent.Таким образом, когда вы нажимаете на ссылку в своем компоненте галереи, она будет заменена другим компонентом.

Создан образец на stackblitz https://angular -hbb4qt.stackblitz.io

...