Angular2,在选项卡中按需动态加载组件

时间:2016-07-29 13:07:20

标签: dynamic angular tabs angular2-components

在我的智慧结束时,所以向更聪明的人伸出援助之手。 我正在建立一个定制的标签" CMS系统。标签和组件存在问题。我希望在新生成的选项卡中显示特定组件,换句话说,我希望动态加载组件。澄清:

Picture 1

在图1中,我们看到了我们的布局,我们左侧边栏上有链接,Tab holder,显示打开的标签,以及Content holder,我们显示加载的标签内容。

Picture 2

在图2中,当我点击"帮助"时,我们会看到我们的布局。侧边栏中的链接。在标签持有者区域中创建一个标题的标签,并将其内容加载到内容区域。

我需要什么:

  1. Tab" Dashboard"默认情况下处于活动状态且无法使用。
  2. 当我点击"帮助"在侧栏中链接,我希望初始化HelpComponent加载。我想创建标题为"帮助"在标签持有者区域和内容区域中加载组件模板&数据NEXT到仪表板模板,而不是覆盖它。
  3. 我想自由跳过标签,基本上显示/隐藏在那里的内容。仅当我在选项卡中按x时,才会从DOM中删除选项卡及其内容。
  4. 如果我在信息中心,那么网址代表你的位置:localhost / dashboard,如果我在帮助中:localhost / help。
  5. 实现这一目标的最佳选择是什么?

    我可以使用路由器链接以某种方式设置此系统,还是应该在SidebarComponent中创建一个函数,它会读取我单击的元素,获取其属性" data-href"然后以某种方式手动初始化组件加载/路由更改?

    一些非常基本的掠夺行为显示出这种行为将是神圣的!

    P.S。 我研究过的东西主要是针对DynamicComponentLoader(DCL),但是现在已经弃用并被ElementRef和ViewContainerRef(http://blog.lacolaco.net/post/dynamic-component-creation-in-angular-2/)取代,但是我找不到足够的例子来理解如何将它应用到我的情况。

    然而,这与我需要的更接近 - code there-> - http://plnkr.co/edit/MMy3azc4ksQOH6ezZIG5?p=preview。它按需加载组件,然后只是重用它们(显示/隐藏)。但它似乎是建立在旧的路由器已弃用的模块上。

0 个答案:

没有答案