проблема, возникающая при ленивой загрузке в angular 6 - PullRequest
0 голосов
/ 09 января 2020

структура

1--login component
  1.1--forget password component
  1.2--reset password component

Для этого я создал модуль с именем «модуль входа»

Вот моя кодировка:

app.routing

 {
path: '',
redirectTo: 'login',
pathMatch: 'full',

 },
 {
   path: 'login',
   component: LoginComponent,

   children: [
    {
      path: 'login',
      canActivate: [AuthServiceGuard],
      loadChildren: './login/login.module#LoginModule'
    }
   ]
 }

login.routing

const routes: Routes = [
 {
  path:'',
  component : LoginComponent,
  data:{
    title:'login'
  },
   children:[{
      path:'forgotPassword',
      component:forgotPwdComponent,
      data:{
        title:'ForgotPassword'
      }
    },
   {
      path:'resetPassword',
      component:ResetPwdComponent,
      data:{
        title:'ResettPassword'
      }
    }]

И при входе в систему. html Я использовал routerLink as,

<a class="achortag" routerLink="/forgotPassword">Forgot Password</a>

Теперь получаю ошибку вроде:


core.js:1673 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'forgotPassword'
Error: Cannot match any routes. URL Segment: 'forgotPassword'

Я вызвал ForgotpwdComponent и resetpwdcomponent в loginmodule и

Я вызвал loginmodule в appmodule. Есть ли проблемы на моем шаге, которые я сделал.

Кто-нибудь может меня направить ??

Ответы [ 2 ]

1 голос
/ 09 января 2020

в настоящее время ваш забытый пароль маршрута /login/login/forgotPassword

вы можете изменить свой маршрут примерно так:

app.routing

[
   {
       path: '',
       redirectTo: 'login',
       pathMatch: 'full',
   },
   {
       path: '',
       canActivate: [AuthServiceGuard],
       loadChildren: './login/login.module#LoginModule'
   }
]

в этом случае ваш маршрут /login/forgotPassword

если вы хотите иметь маршрут /forgotPassword вместо /login/forgotPassword

, вы можете изменить свой код следующим образом:

app.routing

[
  {
     path: '',
     canActivate: [AuthServiceGuard],
     loadChildren: './login/login.module#LoginModule'
   }
]

login.routing

const routes: Routes = [
  {
     path:'login',
     component : LoginComponent,
     data:{
     title:'login'
  },
  {
     path:'forgotPassword',
     component:forgotPwdComponent,
     data:{
        title:'ForgotPassword'
     }
   },
   {
      path:'resetPassword',
      component:ResetPwdComponent,
      data:{
         title:'ResettPassword'
      }
   }
]
0 голосов
/ 09 января 2020

Попробуй так:

[routerLink]="['login/forgotPassword']
...