Когда Id изменяется в * ng для динамических маршрутов, не работающих в Angular 6 - PullRequest
2 голосов
/ 16 мая 2019
`<div *ngFor="let data of projects">
  <a [routerLink]="'/projects/'+data.project_id">
 {{data.project_name}}</a>
</div>`   

enter image description here

Когда я нажимаю на ссылку, ссылка меняется, но содержимое страницы не изменяется

от

http://localhost:4200/projects/1

до

http://localhost:4200/projects/2

но данные остаются такими же!

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Set onSameUrlNavigation: 'reload' в app.module.ts

как:

@NgModule({
  imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: 'reload'})],
  exports: [RouterModule]
})
0 голосов
/ 16 мая 2019

Просто обходной путь, если onSameUrlNavigation: 'reload' не сработало!

HTML-код:

<div *ngFor="let data of projects">
  <div (click)="navigate(data)">
    {{data.project_name}}
  </div>
</div>

Код TS:

import {Router} from '@angular/router';
......
......

constructor(private router: Router) {}

navigate(data){
   this.router.navigateByUrl('/DummyRoute', { skipLocationChange: true }).then(() =>
       this.router.navigate(['/projects/' + data.project_id])
   );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...