Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Rotas no angular 2

Tenho um sistema com estas rotas.

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

import { FullComponent } from './layouts/full/full.component';
import { AppBlankComponent } from './layouts/blank/blank.component';

export const AppRoutes: Routes = 
[
  {
    path: '',
    component: FullComponent,
    children: 
    [
      {
        path: 'arquivo',
        loadChildren: './paginas/arquivo/arquivo.module#ArquivoModule'  
      },
      {
        path: 'declaracao',
        loadChildren: './paginas/declaracao/declaracao.module#DeclaracaoModule'  
      },
      {
        path: 'usuario',
        loadChildren: './paginas/usuario/usuario.module#UsuarioModule'  
      },
      {
        path: 'parametro',
        loadChildren: './paginas/parametro/parametro.module#ParametroModule'  
      },
      {
        path: 'endereco',
        loadChildren: './paginas/endereco/endereco.module#EnderecoModule'  
      },
      {
        path: 'municipioIntegrado',
        loadChildren: './paginas/municipio-integrado/municipio-integrado.module#MunicipioIntegradoModule'  
      },
      {
        path: 'contribuinte',
        loadChildren: './paginas/banco/banco.module#BancoModule'  
      },
      {
        path: 'dashboard',
        loadChildren: './dashboards/dashboards.module#DashboardsModule'  
      }
    ]
  },
  {
    path: '',
    component: AppBlankComponent,
    children: 
    [
      {
        path: 'authentication',
        loadChildren: './authentication/authentication.module#AuthenticationModule'
      }
    ]
  },
  {
    path: '**',
    redirectTo: '404' 
  }
];

Quando entro no sistema http://localhost:4200/#/, ele não vai para a página correta que é http://localhost:4200/#/dashboard

no lugar de

 {
        path: 'dashboard',
        loadChildren: './dashboards/dashboards.module#DashboardsModule'  
      }

já tentei assim

 {
        path: '',
        loadChildren: './dashboards/dashboards.module#DashboardsModule'  
      }

Aonde estou errando ?

4 respostas

Olá, Guilherme.

Como o Thiago disse no outro tópico, já tentou colocar pathMatch: 'full' na rota de path ''?

Obrigado Alexandre Já consegui resolver.

Se puder compartilhar a solução... ;)

solução!

Lógico:

rota principal

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

    import { FullComponent } from './layouts/full/full.component';
    import { AppBlankComponent } from './layouts/blank/blank.component';

    export const AppRoutes: Routes = 
    [
      {
        path: '',
        component: FullComponent,
        children: 
        [
          {
            path: '',
            loadChildren: './dashboards/dashboards.module#DashboardsModule'  
          },
          {
            path: 'configuracao',
            loadChildren: './paginas/configuracao/configuracao.module#ConfiguracaoModule'  
          },
          {
            path: 'arquivo',
            loadChildren: './paginas/arquivo/arquivo.module#ArquivoModule'  
          },
          {
            path: 'declaracao',
            loadChildren: './paginas/declaracao/declaracao.module#DeclaracaoModule'  
          },
          {
            path: 'parametro',
            loadChildren: './paginas/parametro/parametro.module#ParametroModule'  
          },
          {
            path: 'endereco',
            loadChildren: './paginas/endereco/endereco.module#EnderecoModule'  
          },
          {
            path: 'contribuinte',
            loadChildren: './paginas/banco/banco.module#BancoModule'  
          },
          {
            path: 'dashboard',
            loadChildren: './dashboards/dashboards.module#DashboardsModule'  
          }
        ]
      },
      {
        path: '',
        component: AppBlankComponent,
        children: 
        [
          {
            path: 'authentication',
            loadChildren: './authentication/authentication.module#AuthenticationModule'
          }
        ]
      },
      {
        path: '**',
        redirectTo: '404' 
      }
    ];

O problema era nas rota filha de usuário: estava assim:

 export const UsuarioRoutes: Routes = [
      {
        path: '',
        children: [
          {
            path: '',
            component: UsuarioComponent
          }
          , {
            path: 'novo',
            component: UsuarioFormComponent
          }, 
          {
            path: 'alterar/:id',
            component: UsuarioFormComponent
          }
          , 
          {
            path: 'banco/:id',
            component: UsuarioBancoFormComponent
          }
          , 
          {
            path: 'municipio/:id',
            component: UsuarioMunicipioFormComponent
          }
        ]
      }
    ]

Ficou assim:

 export const UsuarioRoutes: Routes = [
      {
        path: 'usuario',
        children: [
          {
            path: '',
            component: UsuarioComponent
          }
          , {
            path: 'novo',
            component: UsuarioFormComponent
          }, 
          {
            path: 'alterar/:id',
            component: UsuarioFormComponent
          }
          , 
          {
            path: 'banco/:id',
            component: UsuarioBancoFormComponent
          }
          , 
          {
            path: 'municipio/:id',
            component: UsuarioMunicipioFormComponent
          }
        ]
      }
    ]