Вложенная угловая маршрутизация с компонентами, вложенными в модули

if [ "a" == "a" ] должен быть if [ "a" = "a" ].

bash принимает == вместо =, но ваш /bin/sh, вероятно, не является bash.

Поэтому либо измените == на =, либо ваш shebang на #!/bin/bash

0
задан Shahabaz 16 January 2019 в 18:54
поделиться

4 ответа

только добавить хеш (#) в app.router export const appRoutes = RouterModule.forRoot(routes, { useHash: true, onSameUrlNavigation: 'reload' });

0
ответ дан elcordova 16 January 2019 в 18:54
поделиться

Вы уверены, что импортировали все модули?

Вы должны импортировать 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 { }
0
ответ дан Shahabaz 16 January 2019 в 18:54
поделиться

Думаю, проблема в том, что у вас не было пустого пути - поскольку в случае, если вы перенаправляете на маршрут 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:)

0
ответ дан Rahul 16 January 2019 в 18:54
поделиться

Группировка тесно связанных компонентов в функциональном модуле - это путь!

То, что вы пытаетесь сделать, называется модуль отложенной загрузки . Посмотрите документацию 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 .

Ура!

0
ответ дан pedmer 16 January 2019 в 18:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: