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.