2017-02-17 12 views
2

Я потерял более 7 дней с этим, но не смог заставить его работать. Когда я помещаю путь к шаблону в children, я получаю сообщение об ошибке, и приложение падает.Угловая 2 Маршрутизация - Невозможно сопоставить маршруты в URL-сегменте

Вот мой код:

export const routes: Routes = [ 
{path: 'store', component: StoreComponent, 
    children: [ 
      {path: 'apple', component: AppleComponent} 
    ] 
} 

AppleComponent.ts

import {Component, OnInit, Type} from '@angular/core'; 
import {Router, ActivatedRoute} from "@angular/router"; 

@Component ({ 
    selector: 'apple', 
    templareUrl: '../apple.html 
}) 

export class AppleComponent implements OnInit { 
    constructor(){} 

    nGOnInit():void{} 
} 

я поставил <base href="/"> в файле index.html, но это не помогло.

Я только начал изучать Angular2, поэтому, пожалуйста, простите меня, если я задам глупый вопрос.

РЕДАКТОР: Это должно было бы быть в children из-за router-outlet.

Спасибо, ребята.

ответ

1

Вы можете просто использовать этот

{ path: 'store/apple', component: AppleComponent, pathMatch: 'full' } 

В качестве альтернативы вы можете использовать этот способ,

export const storeChildrenRoutes: Routes = [ 
    { 
    path: 'store', 
    component: StoreComponent, 
    children: [ 
     { 
     path: 'apple', 
     component: AppleComponent, 
     } 
    ] 
    } 
]; 
@NgModule({ 
    imports: [ 
    RouterModule.forChild(storeChildrenRoutes) 
    ], 
    exports: [ 
    RouterModule 
    ] 
}) 
export class StoreChildRoutingModule {} 

Имейте это как отдельный модуль и импортировать это в модуль AppRouting. где AppRouting модуль будет содержать ваши основные маршруты, которые имеет

RouterModule.forRoot(appRootRoutes) 
+0

Да я могу, но мне нужно это в детях, из-за маршрутизатора-розетки. –

+0

Вы используете внутри своего 'StoreComponent' – Aravind

+0

Нет, как бы вы это сделали? –

Смежные вопросы