Получение параметра маршрута как нулевого в угловом 7
Я не могу получить параметр маршрута как ноль. Я использую angular7. Пожалуйста, найдите код ниже
HeaderComponent TS файл
import {Router, ActivatedRoute} from '@angular/router';
constructor(private httpService: HttpClient, private router: Router, private activatedRoute: ActivatedRoute) {
this.getNewsSelectedFromRouteParam();
}
getNewsSelectedFromRouteParam() {
alert();
let id = this.activatedRoute.snapshot.paramMap.get('typeId');
alert(id);
}
getNewsByCountry(newsTypeSelected: any) {
this.router.navigate(['/news',newsTypeSelected]);
this.getNewsSelectedFromRouteParam();
}
Заголовок HTML
<div class=" dropdown-toggle" data-toggle="dropdown">
XXX
</div>
<div class="dropdown-menu">
<div *ngFor="let cr of country" class="dropdown-item"
(click)="getNewsByCountry(cr.value)" >{{cr.name}}</div>
</div>
файл маршрутизации приложения
const routes: Routes = [
{ path: 'news/:typeId', component: XxxComponent },
{ path: '**', component: XxxComponent }
];
3 ответа
Я пытаюсь получить эти параметры в "HeaderComponent TS", где он должен вызывать из "XxxComponent". Я добавил этот код параметра маршрута в файл XxxComponent ts, который теперь работает должным образом. Я могу получить параметры маршрута.
Есть два способа доступа к параметру маршрута.
- Статически (один раз при загрузке страницы)
- Динамически (обновляется, если параметр изменяется в вашем приложении без перезагрузки страницы браузером)
Вы можете получить дополнительную ссылку здесь: https://angular.io/api/router/ActivatedRouteSnapshot
Смотрите следующий фрагмент для реализации:
let id = this.activatedRoute.snapshot.params.typeId; // any param name after "params"
или же
this.activatedRoute.params.subscribe((params) => {
let id = params.get('typeId');
});
Убедитесь, что вы используете приведенный выше код, когда компонент инициализирован, т.е. в или после ngOnInit().
Вы также можете попробовать
let id = this.activatedRoute.snapshot.queryParams.id
чтобы получить параметры запроса, общие для всех маршрутов
Вы вызываете getNewsByCountry в (click), вероятно, cr.value равно нулю, что такое cr.value? Идентификатор?