Я работаю над обновлением проекта AngularJs до Angular 6. Ранее, чтобы открыть любую страницу, я использовал $ state:
$state.transitionTo(stateName, {}, {reload: true});
Теперь в Angular введена маршрутизация.Я внес все необходимые изменения, чтобы открыть страницу сведений о жизненной линии страницы по ссылке, добавленной на страницу жизненной линии.
Изменения:
app.main.ts
export const routes: Route[] = [
{
path: 'life-line-details',
component: LifeLineDetailsComponent
}
];
@NgModule({
imports: [
RouterModule,
BrowserModule,
UpgradeModule,.....
RouterModule.forRoot(routes)
]
life-line.html
<td><a routerLink="/#/life-line-details"(click)="detailLifeLine(lLine)">Details</a></td>
life-line.component.ts
detailLifeLine = function (lLine) {
this.router.navigateByUrl("/#/life-line-details");
}
Также у меня есть метод навигации.Но не сработает.
life-line-details.html - это отдельная страница, которую нужно открыть из вышеуказанных действий, и URL моего проекта должен измениться на: http://192.168.1.12:8080/#/life-line-details, но он изменится наhttp://192.168.1.12:8080/%23/life-line-details
Я попытался кодировать URI и encodeURIComponent для URL-адреса, передаваемого на routerLink и методе навигации.Но ничего не помогло, я не могу открыть страницу из-за% 23 вместо #.
Как мне решить проблему?