2017-02-19 67 views
0

我已经开发了基本路由的Angular 2中的基本的待办事项应用程序。当我点击一个链接时,Angular会在我的链接末尾自动附加#。例如,如果我要转到注释页面,请打开Angular open http://localhost:4200/#/notes。有什么办法可以禁止#出现在我的网站吗?如何防止Angular 2将#追加到我的网址?

+0

如果您使用HashLocationStrategy,则需要这样做:https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles。这不是默认设置,所以你有意地选择了这个策略。 –

+0

@JB Nizet非常感谢。这解决了这个问题。 –

回答

1

您可以使用PathLocationStrategy通过设置useHash

@NgModule({ 
    imports: [ 
    .... 
    RouterModule.forRoot(ROUTES, { useHash: false }) 
    ] 
}) 

注意false value这样,它的工作原理,但是当你刷新页面,则无法加载当前页面。要在刷新时再次加载它,您必须确保在服务器端上配置了正确的路由。 客户端(Angular2)现在不负责通过您的服务器路由配置在刷新时获取当前页面。