if [ "a" == "a" ]
должен быть if [ "a" = "a" ]
.
bash
принимает ==
вместо =
, но ваш /bin/sh
, вероятно, не является bash.
Поэтому либо измените ==
на =
, либо ваш shebang на #!/bin/bash
только добавить хеш (#) в app.router export const appRoutes = RouterModule.forRoot(routes, { useHash: true, onSameUrlNavigation: 'reload' });
Вы уверены, что импортировали все модули?
Вы должны импортировать RouterModule.forChild (UserRoutes) в UserRoutingModule, затем импортировать UserRoutingModule в UserModule
, вам необходимо проверить правильный URL
, например:
[110 ]const userRoutes: Routes = [
{ path: 'create', component: CreateUserComponent },
{ path: 'list', component: ListUserComponent },
];
@NgModule({
imports: [RouterModule.forChild(userRoutes)],
exports: [RouterModule]
})
export class UserRoutingModule { }
Думаю, проблема в том, что у вас не было пустого пути - поскольку в случае, если вы перенаправляете на маршрут admim
, ваш маршрут не будет соответствовать, потому что угловые маршруты будут искать пустой маршрут в маршрутах children
, так как у вас его нет, он не будет соответствовать маршруту
Попробуйте что-то вроде этого
{
path: 'admin',
children: [
{
path: 'user',
loadChildren: './user/user.module#UserModule'
},
{
path:''
component:FullComponent
}
]
}
Теперь, когда вы попытаетесь перейти к admin
, ваш FullCompoment
будет визуализирован, и если вы пытаетесь /admin/user
, это будет лениво загружать ваш пользовательский модуль
Таким же образом добавьте пустой путь к вашему user-routing-module.ts
{
path: '',
redirectTo: 'create',
pathMatch : 'full'
}
Скорее всего, это решит вашу проблему - наконец, убедитесь, что что вы импортировали свою маршрутизацию в соответствующие модули - надеюсь, это поможет - Happy coding:)
Группировка тесно связанных компонентов в функциональном модуле - это путь!
То, что вы пытаетесь сделать, называется модуль отложенной загрузки . Посмотрите документацию Angular по этой теме: https://angular.io/guide/lazy-loading-ngmodules .
Вы пропустили объявление UserRoutingModule
внутри user.routing.ts
(я предлагаю переименовать файл в user-routing.module.ts
, чтобы следовать соглашению). Тогда вам просто нужно импортировать UserRoutingModule
в UserModule
;)
Кстати, как только вы используете модуль отложенной загрузки, вы должны скомпилировать / обслуживать ваше приложение с --aot
(заранее время) флаг. Вы можете прочитать больше об этом здесь: https://angular.io/guide/aot-compiler .
Ура!