0
我已经开发了基本路由的Angular 2中的基本的待办事项应用程序。当我点击一个链接时,Angular会在我的链接末尾自动附加#。例如,如果我要转到注释页面,请打开Angular open http://localhost:4200/#/notes。有什么办法可以禁止#出现在我的网站吗?如何防止Angular 2将#追加到我的网址?
我已经开发了基本路由的Angular 2中的基本的待办事项应用程序。当我点击一个链接时,Angular会在我的链接末尾自动附加#。例如,如果我要转到注释页面,请打开Angular open http://localhost:4200/#/notes。有什么办法可以禁止#出现在我的网站吗?如何防止Angular 2将#追加到我的网址?
您可以使用PathLocationStrategy
通过设置useHash
@NgModule({
imports: [
....
RouterModule.forRoot(ROUTES, { useHash: false })
]
})
注意false value
:这样,它的工作原理,但是当你刷新页面,则无法加载当前页面。要在刷新时再次加载它,您必须确保在服务器端上配置了正确的路由。 客户端(Angular2)现在不负责通过您的服务器路由配置在刷新时获取当前页面。
如果您使用HashLocationStrategy,则需要这样做:https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles。这不是默认设置,所以你有意地选择了这个策略。 –
@JB Nizet非常感谢。这解决了这个问题。 –