The solutions for this problem is in the child level menus, no need to 
prefix the /. but only for the default route in the child menus, "./" need 
to be added to make it work.

<ul class="nav nav-tabs">
        <li class="active"><a data-toggle="tab" href="#ExtractorQueue" 
[routerLink]="['./']">ExtractorQueue</a></li>
        <li><a data-toggle="tab" href="#Extractor" 
[routerLink]="['Extractor']">Extractor</a></li>
        <li><a data-toggle="tab" href="#Schedule" 
[routerLink]="['Schedule']">Schedule</a></li>
        <li><a data-toggle="tab" href="#CacheVisualization" 
[routerLink]="['CacheVisualization']">Cache Visualization</a></li>
    </ul>



On Thursday, July 14, 2016 at 7:00:32 PM UTC-4, Navaneetha Krishnan S wrote:
>
> My Menu provider is as below
>
> export const routes: RouterConfig = [
>     { path: '', component: Dashboard1 },
>     { path: 'Dashboard2', component: Dashboard2 },
>     { path: 'Report1', component: Report1 },
>     { path: 'Report2', component: Report1 },
>     {
>         path: 'ManageRedisCache',               //Child level menus
>         component: ManageRedisCache,
>         children: [
>             { path: '', component: ExtractorQueue },  
>             { path: 'Extractor', component: Extractor },
>             { path: 'Schedule', component: Schedule },
>             { path: 'CacheVisualization', component: CacheVisualization}
>         ]
>     }
> ];
>
> First level menu html template as the following html link which loads the 
> second level menus
>
>  <ul>
>                     <li class="teamMate">
>                         <a [routerLink]="['/ManageRedisCache']"><h4>Manage 
> Redis Cache</h4></a>
>                     </li>
>                 </ul>
>
> ManageRedisCache component has the html template as below where second 
> level routes are specified
>
>  <div class="container">
>     <h2>Redis Administration</h2>
>     <ul class="nav nav-tabs">
>         <li class="active"><a data-toggle="tab" 
> [routerLink]="['/']">ExtractorQueue</a></li>
>         <li><a data-toggle="tab" 
> [routerLink]="['/Extractor']">Extractor</a></li>
>         <li><a data-toggle="tab" 
> [routerLink]="['/Schedule']">Schedule</a></li>
>         <li><a data-toggle="tab" [routerLink]="['/CacheVisualization']">Cache 
> Visualization</a></li>
>     </ul>
>     <div class="tab-content">
>         <router-outlet></router-outlet>
>     </div></div>
>
> I have defined the child route as above and the child level default route 
> i.e. ExtractorQueue works fine on load/click of "ManageRedisCache" link. On 
> the first load it loads the component "ExtractorQueue" but on navigating to 
> other child routes like "Extractor,Schedule,CacheVisualization" it doesnot 
> works fine. None of the other routing links like 
> "Extractor,Schedule,CacheVisualization" seems to work or even clickable. I 
> am getting the following error in the browser console
>
> zone.js:461 Unhandled Promise rejection: Cannot match any routes: 'Extractor' 
> ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot match any routes: 
> 'Extractor'
>     at Observable.eval [as _subscribe] 
> (http://localhost:49928/lib/@angular/router/src/apply_redirects.js:37:34)
>     at Observable.subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:52:62)
>     at Observable._subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:109:28)
>     at MergeMapOperator.call 
> (http://localhost:49928/lib/rxjs/operator/mergeMap.js:75:23)
>     at Observable.subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:52:38)
>     at Observable._subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:109:28)
>     at MergeMapOperator.call 
> (http://localhost:49928/lib/rxjs/operator/mergeMap.js:75:23)
>     at Observable.subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:52:38)
>     at Observable._subscribe 
> (http://localhost:49928/lib/rxjs/Observable.js:109:28)
>     at MapOperator.call 
> (http://localhost:49928/lib/rxjs/operator/map.js:54:23)consoleError @ 
> zone.js:461
> zone.js:463 Error: Uncaught (in promise): Error: Cannot match any routes: 
> 'Extractor'
>     at resolvePromise (http://localhost:49928/lib/zone.js/dist/zone.js:538:32)
>     at http://localhost:49928/lib/zone.js/dist/zone.js:515:14
>     at ZoneDelegate.invoke 
> (http://localhost:49928/lib/zone.js/dist/zone.js:323:29)
>     at Object.onInvoke 
> (http://localhost:49928/lib/@angular/core/bundles/core.umd.js:9100:45)
>     at ZoneDelegate.invoke 
> (http://localhost:49928/lib/zone.js/dist/zone.js:322:35)
>     at Zone.run (http://localhost:49928/lib/zone.js/dist/zone.js:216:44)
>     at http://localhost:49928/lib/zone.js/dist/zone.js:571:58
>     at ZoneDelegate.invokeTask 
> (http://localhost:49928/lib/zone.js/dist/zone.js:356:38)
>     at Object.onInvokeTask 
> (http://localhost:49928/lib/@angular/core/bundles/core.umd.js:9091:45)
>     at ZoneDelegate.invokeTask 
> (http://localhost:49928/lib/zone.js/dist/zone.js:355:43)
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to