I\'m trying to create an application with hash location strategy, but it does not add the hash to the url. For instance when I click on a button associated with { path: \'/p
It is recommended to use the HTML 5 style (PathLocationStrategy) as location strategy in Angular
Because
Use Hashlocationstrtegy only if you have to support the older browsers.
Click Here for More info
ROUTER_PROVIDERS
should not be added to child components,
only to
providers: [ROUTER_PROVIDERS]
or alternatively only to
bootstrap(AppComponent, [ROUTER_PROVIDERS]);
HTTP_PROVIDERS
are in my opinion also a better fit for root component or bootstrap()
but it doesn't break anything to add them somewhere else.
(See also Routing error with angular 2 and IIS)
You can use the option "useHash" in RouterModule.forRoot().
RouterModule.forRoot(appRoutes, {useHash: true});
https://discuss.atom.io/t/angular-2-routes-breaking-on-electron-app-refresh/28370/4
Everything worked fine with the sample code OP posted as with what is in the accepted answer. But as a minor note, the format required to changing the Hash Location Strategy in the bootstrap file as of RC.4 goes like this:
{ provide: LocationStrategy, useClass: HashLocationStrategy },