当前位置:  开发笔记 > 前端 > 正文

Angular2在网址中没有哈希值

如何解决《Angular2在网址中没有哈希值》经验,为你挑选了2个好方法。

现在,我的网站的网址看起来像这样,因为我正在使用此处描述的方法

HTTP://本地主机:4200 /#/ cadastro

是否可以删除网址中的哈希值而不会出现404错误?

编辑:路由器模块添加

const appRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'cadastro', component: CadastroNoivosComponent },
    { path: '**', component: HomeComponent }
];

export const routing = RouterModule.forRoot(appRoutes);

AJT82.. 30

如果您使用的是Angular final,则哈希的原因可能是:

RouterModule.forRoot(yourRoutesHere, { useHash: true })

所以通过删除可能有所帮助.

RouterModule.forRoot(yourRoutesHere)

或者,如果您在提供者(在NgModule中)使用过:

{provide: LocationStrategy, useClass: HashLocationStrategy}

只是删除它.

编辑,如果您需要LocationStrategy,请尝试更改HashLocationStrategyPathLocationStrategy:

{provide: LocationStrategy, useClass: PathLocationStrategy}

更多关于LocationStrategy的信息

现在我已经看到了关于404问题的路线,您可以尝试更改以下内容

{ path: '**', component: HomeComponent }

至:

{ path: '**', redirectTo: '', pathMatch: 'full' }

更多关于路由的信息

还要检查index.html你已经设置了basehref,如下所示:



duke636.. 9

如果您在此处描述使用PathLocationStrategy,则可以删除URL中的哈希值.

但摆脱404错误需要一些服务器端调整.一种快速简便的方法是将服务器配置为在http://yourhost/*请求表单的任何URL时加载主页.



1> AJT82..:

如果您使用的是Angular final,则哈希的原因可能是:

RouterModule.forRoot(yourRoutesHere, { useHash: true })

所以通过删除可能有所帮助.

RouterModule.forRoot(yourRoutesHere)

或者,如果您在提供者(在NgModule中)使用过:

{provide: LocationStrategy, useClass: HashLocationStrategy}

只是删除它.

编辑,如果您需要LocationStrategy,请尝试更改HashLocationStrategyPathLocationStrategy:

{provide: LocationStrategy, useClass: PathLocationStrategy}

更多关于LocationStrategy的信息

现在我已经看到了关于404问题的路线,您可以尝试更改以下内容

{ path: '**', component: HomeComponent }

至:

{ path: '**', redirectTo: '', pathMatch: 'full' }

更多关于路由的信息

还要检查index.html你已经设置了basehref,如下所示:




2> duke636..:

如果您在此处描述使用PathLocationStrategy,则可以删除URL中的哈希值.

但摆脱404错误需要一些服务器端调整.一种快速简便的方法是将服务器配置为在http://yourhost/*请求表单的任何URL时加载主页.

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有