【发布时间】:2017-11-24 21:16:03
【问题描述】:
我在 Angular 2 中有一个导航栏。它的工作原理如下。
<nav class="navbar navbar-toggleable-md navbar-light bg-faded">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#">App</a>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a routerLink="/dashboard" routerLinkActive="active" class="nav-link">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a routerLink="/grid" routerLinkActive="active" class="nav-link" >Grid</a>
</li>
<li class="nav-item">
<a routerLink="/reporting" routerLinkActive="active" class="nav-link" >Reporting</a>
</li>
</ul>
</div>
</nav>
每个选项卡加载 1 个组件。因此仪表板加载 DashboardComponent,而网格加载一个 GridComponent。
上面提到的两个组件都从 data.service.ts 获取数据。我的问题:有没有办法点击仪表板(它在 3 秒后加载),然后从仪表板选项卡导航到网格选项卡。然后当我返回仪表板选项卡时,它不能重新加载并再次花费 3 秒时间吗?
我们在 Angular 1.5 中编写的应用程序不存在上述问题。问题是如果用户在仪表板和网格之间切换,会花费很多时间。
我查看了这里提出的以下问题: Bootstrap's tabs with data-toggle cause reload in angularjs
Angular2 router.navigate refresh page
它们都不能解决我的问题。第一个问题是针对角度 1。第二个问题是,当我将导航项设置为 type="button" 时,重新加载仍在进行中。
【问题讨论】: