如何在Angular 5中加载页面内的其他页面

如何在Angular 5中加载页面内的其他页面,angular,Angular,我有4页的项目 [ { path: 'page1', component: Page1Component }, { path: 'page2', component: Page2Component }, { path: 'page3', component: Page3Component }, { path: 'page4', component: Page4Component }, ] 在第4页中,我从后端检索一个URL,它是/page1、/page2、/page3中的一个。

我有4页的项目

[
  { path: 'page1', component: Page1Component },
  { path: 'page2', component: Page2Component },
  { path: 'page3', component: Page3Component },
  { path: 'page4', component: Page4Component },
]
在第4页中,我从后端检索一个URL,它是
/page1
/page2
/page3
中的一个。然后我必须将该页面嵌入到
/page4

我目前正在使用iframe
iframe
,但效果不好

有没有什么方法可以使用ng模板或其他什么东西来做呢?

像这样

{path : 'profile', component: ProfileComponent , 
            children : [
              {path: '' , component: ProfileBoardComponent },
              {path: 'friends' , component: ProfileFriendsComponent }
            ]},
或者在html组件中是指这个

    <app-menu></app-menu>
    <router-outlet></router-outlet>


如果
是一个组件

您可以根据需要拥有多个
路由器插座
,因此您应该尝试在page4中使用一个,这意味着您必须修改路由

以这种方式,例如,当您转到第2页时,它将出现在第4页的路由器出口中

我知道您不想导入其他模块,这可能与性能和加载时间有关,但在这种情况下,您可以使用
SharedModule
仅以这种方式共享这些组件,以避免模块“x”不知道模块“y”

我认为这只是架构的问题,但只有你了解项目的复杂性


祝你好运

不完全是,它们是没有任何关系的单独页面。您可以使用组件的选择器标记和ngswitch组合。@Gurkanyesilyart感谢您的建议,但该项目比我在问题中编写的代码复杂得多。它应该嵌入使用延迟加载的其他模块中的页面,并且不应该导入这些模块。我可以使用的唯一选项是页面的URL。我需要嵌入
页面
,而不是
组件