Angular 是否必须将管线与角度方向上的构件关联

Angular 是否必须将管线与角度方向上的构件关联,angular,ngx-admin,Angular,Ngx Admin,我是新手。我有以下文件夹/文件树: -- app folder -- root ( -- pages (pages-routing, pages-module, pages-component) -- page1 (page1-routing, page1-component) -- subcomponent (subcomponent-component) 我的页面路由是这样定义的 const routes: Routes = [{ pat

我是新手。我有以下文件夹/文件树:

-- app folder
  -- root (
     -- pages (pages-routing, pages-module, pages-component)
        -- page1 (page1-routing, page1-component)
           -- subcomponent (subcomponent-component)
我的页面路由是这样定义的

const routes: Routes = [{
path: '',
component: PagesComponent,
   children: [{
     path: 'page1',
     component: Page1Component,
   }, {
     path: 'subcomponent',
     component: SubComponent,
   }],
 }];

 @NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule],
 })
 export class PagesRoutingModule { }

 export const routedComponents = [
     Page1Component,
     SubComponent,
 ];
页面管理模块

@NgModule({
  imports: [
    ThemeModule,
    PagesRoutingModule,
  ],
  declarations: [
     ...routedComponents,
  ],
  providers: [
    SmartTableService,
  ],
})
Page1模块看起来很相似:

@NgModule({
   imports: [
      ThemeModule,
      PagesRoutingModule,
      Ng2SmartTableModule,
   ],
   declarations: [
      ...routedComponents,
   ],
   providers: [
      SmartTableService,
   ],
})
这是可行的,但我的问题是..我想知道是否有可能删除子组件的路由..因为子组件不需要真正的路由? 到目前为止,我所做的是尝试从发送此消息的页面中删除

{
 path: 'subcomponent',
 component: SubComponent,
}

我在PageNGModule和Page1NGModule声明部分都添加了子组件引用 但我得到:没有找到子组件的组件工厂

这才是真正的问题。是否必须为组件设置路由? 组件没有路由是否可以生存?

组件与路由关联不是必需的

根据角度布线文档,必须使用带有组件的布线。 如果未直接在管线中设置,则至少子管线必须具有组件

组件可以作为您通常希望路由到的页面。在这些情况下,您会将它们与导航到此页面的路线关联。
组件也可以是您想要放入其他组件中的小内容包,例如页面组件。您将尝试将特定的作用域封装到一个特定的组件中,该组件可以很好地实现此目的。

感谢anwer,但问题不是路由是否可以在没有组件的情况下生存,而是组件是否可以在没有路由的情况下生存。我现在编辑了我的问题我编辑了这篇文章来回答你的问题:组件与路由关联不是强制性的。简单的回答是,不。在你创建的每个组件上定义路由不是强制性的。至于您收到的错误消息,请查看是否有助于调试。这个问题很难理解。听起来您指的是具有两条路由的两个模块,但仅显示一条路由配置。您还提到删除子组件路由,但没有解释为什么需要删除它。必须删除它,因为必须删除与组件关联的路由
{ 
 SubComponent,
}
component?: Type<any>   
The component to instantiate when the path matches. Can be empty if child routes specify components.