Angular2路由中的问题。未呈现的孩子的输入

时间:2017-04-21 17:48:56

标签: javascript angular angular2-routing

route: /home

    <a routerLink="/dasbhoard"></a>

----------- 

route: /dashboard

<Dashboard>
  <slot  [slotObj]></slot>
  <carousel [carouselObj]></carousel>
</Dashboard>

我在一个像上面那样结构的项目上工作。 当用户单击主组件中的锚标签时,他将被路由到仪表板组件。 我使用Resolve api预取仪表板组件的对象,然后将这些对象发送到仪表板中的子组件:slot和carousel

使用预取和页面呈现工作正常。但是,我注意到路由更改中子组件的输入没有被传播。

有趣的是,如果直接访问仪表板组件或在导航后重新加载页面,一切都运行良好。

简而言之,在ui路由到Dashboard组件时,子组件无法正确呈现,并且无法对它们执行任何单击操作,但是当重新加载同一页面时,所有功能都可以正常工作。

任何有关这方面的帮助都会有所帮助。我想避免硬导航修复。

1 个答案:

答案 0 :(得分:1)

您应该为输入属性分配一些值,如下所示

<Dashboard>
  <slot  [slotObj]="slotObjwithValues"></slot>
  <carousel [carouselObj]="carouselObjwithValues"></carousel>
</Dashboard>