Angular 2:如何在加载

时间:2016-03-22 01:02:48

标签: angular angular2-routing

我使用默认路径位置策略在Angular 2应用程序中实现了路由。它工作正常,但重新加载非默认URL路径时,将呈现与默认路由关联的组件,而不是与路径路径关联的组件。

例如,http://localhost:5000/locator/bycounty在从服务器重新加载URL时显示http://localhost:5000处的组件(我将服务器端路由集设置为解析到同一文件的所有静态路径)。

这是预期的行为还是我的应用程序行为不端?

1 个答案:

答案 0 :(得分:1)

答案是应用程序行为不端。原因是我在初始化时动态设置了基础,而不是使用简单的<base href="/" />

bootstrap(AppComponent, [
    ROUTER_PROVIDERS,
    provide(APP_BASE_HREF, { useValue: location.pathname }) // <= BAD
]);

在尝试修复不同的路由器问题时,我曾在某处复制了provide(....)代码行。此行根据加载时的URL路径动态设置路由器的根路径。这就是为什么在初始加载时我总是看到默认路由而不是URL路径所代表的路由。