用户手动更改导航栏时路由Angular2应用程序?

时间:2016-07-09 04:24:32

标签: javascript angular

我正在运行Angular2示例tutorial app,当我点击导航应用程序的链接时,例如" dashboard"带我到localhost:3000/dashboardheroes将我带到localhost:3000/heros,而不会按预期重新加载整个应用。

现在,如果我在localhost:3000/dashboard,我手动将网址修改为localhost:3000/heros并按Enter键,该应用会重新加载并转到 heros 视图,但是如果我使用Gmail和其他javascript应用程序执行此操作,应用程序无需重新加载即可切换视图。

允许此功能的组件的名称是什么?

是否有Angular或Angular2方法来实现它?

1 个答案:

答案 0 :(得分:0)

使用PathLocationStrategy可能无法做到这一点。我看到此功能的Gmail,Play音乐和其他网​​站的网址都有#

我将应用程序切换到HashLocationStrategy,现在这样就可以了。

通过向main.ts添加导入并配置路由器以使用它来促进切换。

import {Location, LocationStrategy, HashLocationStrategy} from '@angular/common';

bootstrap(AppComponent, [ APP_ROUTER_PROVIDERS, {provide: LocationStrategy, useClass: HashLocationStrategy}, HTTP_PROVIDERS, ]);