我有一个问题是Angular2删除了斜杠。我已经设置了我的dotnet核心应用程序来添加它们,但是一旦js加载它们就会被删除。
甚至可以在Angular2中使用吗?
(我的客户需要它,所以不需要添加评论说;不要使用尾部斜杠)。
提前致谢。
编辑: 应该已经添加,这是使用Angular2-Universal运行,因此升级角度版本并不容易:(
答案 0 :(得分:2)
我们有一个Angular网站,在我们决定迁移到Angular4 Universal之后,我们的一个问题就是在我们的网站SEO上自动删除尾随斜线效果,经过多次尝试后我们找到了一种防止这种无价值行为的hacky方式如下面的代码(在app.module.ts文件中):
import { NgModule } from '@angular/core';
import { Injectable } from '@angular/core';
import { Location } from '@angular/common';
import {AppComponent} from './app.component';
@Injectable()
export class UnstripTrailingSlashLocation extends Location {
public static stripTrailingSlash(url: string): string {
return url;
}
}
Location.stripTrailingSlash = UnstripTrailingSlashLocation.stripTrailingSlash;
@NgModule({
declarations: [
AppComponent
],
imports: [...],
providers: [...],
bootstrap: [AppComponent]
})
export class AppModule {
}
答案 1 :(得分:0)
我认为.Net Devs是problem faced
在2.3.0-beta.1
版本的角度中提交此修复程序。尝试更改角度版本并查看问题是否已修复。
fix: support trailing slash in basePath
<强>替代地强>
你试过这个吗?这似乎在我的机器上做了伎俩在app.routing.ts中:
{ path: 'link/.', component: MyComponent },
超链接:
<li class="nav-item" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
<a class="nav-link" [routerLink]="['/link/.']">MyComponent</a>
</li>