【发布时间】:2023-03-22 20:10:01
【问题描述】:
我正在使用 Angular 进行开发,每次手动输入网址时,主题标签都会被删除。
示例:
mywebsite.com/some/url#anchor-id
当我输入回车时,它确实将其更改为mywebsite.com/some/url
我看了看,我不知道为什么 Angular 会删除这个标签。
我必须更改项目配置中的某些内容吗?
已经看过 useHash: true 但这没有帮助。
【问题讨论】:
我正在使用 Angular 进行开发,每次手动输入网址时,主题标签都会被删除。
mywebsite.com/some/url#anchor-id
当我输入回车时,它确实将其更改为mywebsite.com/some/url
我看了看,我不知道为什么 Angular 会删除这个标签。
我必须更改项目配置中的某些内容吗?
已经看过 useHash: true 但这没有帮助。
【问题讨论】:
经过长时间的搜索...
Angular 对此没有任何配置。
在每条路线上,我确实将页面的语言添加到位置 -> mywebsite.com/some/url 将变为 mywebsite.com/en/some/url。
这是代码
this.location.replaceState(`/${this.selectedLang}${this.location.path()}`)
location.path() 方法确实接受一个变量 -> includeHash?: boolean | undefined
传递 true -> location.path(true) 然后将返回预期的 url。
所以,这就是解决方案...
this.location.replaceState(`/${this.selectedLang}${this.location.path(true)}`)
【讨论】: