2016-03-22 74 views
1

我使用默认路径位置策略在Angular 2应用程序中实现了路由。它工作正常,除了重新加载非默认URL路径时,与默认路由相关联的组件被呈现而不是与路由路径相关联的组件。Angular 2:如何在加载时导航初始路径路径

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

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

+0

您提供的信息不足以诊断问题。 –

+0

我并不是要求诊断问题。我试图确定这是否是角度2路由器的预期行为。您是否暗示路由器在页面最初加载时应自动遍历来自URL路径的路由? – gxclarke

+0

我暗示你的问题没有提供足够的信息来讨论它是否是Angular或你的代码的缺陷或功能;-) –

回答

1

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

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

我曾试图解决一个不同的路由器的问题时,在一个点上复制的provide(....)行代码的某个地方。此行根据加载时的URL路径动态设置路由器的根路径。这就是为什么在初始加载时我总是看到默认路由,而不是URL路径代表的路由。