如何在app.module中配置有多个父母的孩子

时间:2019-05-24 10:15:51

标签: angular angular6 angular5

我有1个子组件,我想在app.module上定义路由。     使用最佳实践代码可以实现什么?

在上面的代码中,可以在child1的子项上定义ParentComponent2吗?

path: 'parent-component', //<---- parent component declared here
  component: ParentComponent1,
  children: [ //<---- child components declared 
    {
      path: 'child-one',
      component: ChildOneComponent
    },
    {
      path: 'child-two',
      component: ChildTwoComponent
    }
  ],
  path: 'parent-component2', //<---- parent component declared here
  component: ParentComponent2 

我可以这样写代码吗

path: 'parent-component', //<---- parent component declared here
      component: ParentComponent1,
      children: [ //<---- child components declared 
        {
          path: 'child-one',
          component: ChildOneComponent
        },
        {
          path: 'child-two',
          component: ChildTwoComponent
        }
      ],
  path: 'parent-component2', //<---- parent component declared here
      component: ParentComponent2,
      children: [ //<---- child components declared 
        {
          path: 'child-one',
          component: ChildOneComponent
        },
        {
          path: 'child-two',
          component: ChildTwoComponent
        }
      ], 

2 个答案:

答案 0 :(得分:0)

如果您要实现的是angular的延迟加载功能,那么上面的代码是完美的。仅在以下情况下加载childoneComponent和childTwoComponent: 1]您当前在ParentComponent1中,并导航到“一个孩子”或“两个孩子” 2]直接浏览“一个孩子”或“两个孩子”,而无需访问父组件

还应注意,childoneComponent的父级是ParentComponent1,它本身可以具有父级组件“ SuperParentComponent”。因此,您可以为延迟加载的组件构建一棵树

答案 1 :(得分:0)

这完全取决于是否有针对这种特定行为的UseCase。但是对我来说,这听起来好像您的父级组件并不是真正的放手之地,除非您希望传递特定于这些父级的数据。 如果您能详细阐述一下oyu试图实现的目标,那将是非常有趣的。

在“最佳实践”的基础上,如果且仅当您尝试执行上述操作时,我看不出有任何问题,否则,我建议您使用独立路径。