Angular2 routerLinkActive在加载大型DOM时不会立即更新

时间:2018-04-20 22:32:26

标签: angular dom router

我有一个侧边栏,我从英雄列表中选择。每个英雄都有一个id并且单击只更改路由参数(例如:/ hero / id)。我使用routerLink和routerLinkActive来改变活动项的颜色。

对于一些英雄,我的组件中的表中有很多行,因此当我导航到其id时,DOM的更新速度很慢。我现在面临的问题是,当我点击侧边栏中的这个英雄项目时,新项目的选择颜色不会立即改变。

我认为这是因为DOM没有为表组件更新,因此整个应用程序(包括侧边栏)的视图不会更新。

有什么方法可以强制侧边栏视图先更新,然后更新表的视图?理想情况下,只要单击一个新项目,我就会在表组件中显示一个微调器,然后一旦加载大型表的DOM就会更新它。

****添加代码:

补充工具栏模板:

<ul *ngFor="hero of heroes">
    <li routerLink="heroes/{{hero.id}}" routerLinkActive="active">
</ul>

英雄组件:

this.route.params.subscribe((params: ParamMap) => {
   updateData(params.get(id)) //This takes some time to update the DOM as content is large
}

0 个答案:

没有答案