Angular路由器看不到要重定向到TO的组件

时间:2019-10-15 18:29:09

标签: javascript angular routing router

我正在尝试为我的应用程序创建路由。我在其中放入了主视图模块:

import { Route } from '@angular/router';
import { MainViewComponent } from './main-view.component';

export const MAINVIEW_ROUTE: Route = {
  path: 'home',
  component: MainViewComponent,
  data: {
    authorities: [],
    pageTitle: 'home.title'
  }
};

我也在main-view.module中使用forChild方法

imports: [CommonModule, RouterModule.forChild([MAINVIEW_ROUTE]), ChartsModule, MagDynoSharedModule, MatGridListModule]

在我的应用程序路由调制中,我有这个:

RouterModule.forRoot(
      [
        { path: '', children: [
            { path: '', redirectTo: 'home', pathMatch: 'full'},

应用程序未在此路由器插座中显示main-view.component。在不使用重定向的情况下,将加载另一个模块。

2 个答案:

答案 0 :(得分:0)

如果您已经在AppModule中导入MainViewModule, 我认为您应该以这种方式配置AppModuleRouting:

 RouterModule.forRoot(
      [
        { path: '', redirectTo: 'home', pathMatch: 'full'}
];

然后MainViewRoutingModule应该是:

RouterModule.forChild([
     { path: 'home', component: MainViewComponent }
])

另一方面,如果要进行延迟加载:https://angular.io/guide/lazy-loading-ngmodules

您应该这样做:

AppModuleRouting

 RouterModule.forRoot(
      [
        { path: '', redirectTo: 'home', pathMatch: 'full'},
        {  loadChildren: () => import('./modules/main-view.module').then(mod => mod.MainViewModule)}
];

然后在MainViewModuleRouting中应该是:

RouterModule.forChild([
   { path: '', children: [
        { path: 'home', component: MainViewComponent }
   ]
]);

答案 1 :(得分:0)

事实证明,由于Jhipster,我遇到了一些问题。 在上一个版本中,我将app-routing-module更改为:

$result = $mysqli->query("SHOW COLUMNS FROM tablename LIKE 'keyword");
$exists = (mysqli_num_rows($result))?TRUE:FALSE;

而且效果很好。 但是我不确定更好的约定是否像这样(带孩子)使用它:

RouterModule.forRoot([
    { path: '', redirectTo: 'home', pathMatch: 'full' },
    { path: 'home', children: MAINVIEW_ROUTE },
    { path: 'setting', children: SETTING_ROUTE },
    { path: 'history', children: HISTORY_ROUTE },
    { path: 'admin', loadChildren: './admin/admin.module#MagDynoAdminModule' },
    ...ACCOUNT_ROUTES,
    ...LAYOUT_ROUTES,
  ],
  { enableTracing: DEBUG_INFO_ENABLED }
)