Получение параметра маршрута как нулевого в угловом 7 - PullRequest
0 голосов
/ 22 января 2019

Я не могу получить параметр маршрута как ноль.Я использую angular7.Пожалуйста, найдите код ниже

HeaderComponent ts file

    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>

appфайл маршрутизации TS

 const routes: Routes = [
        { path: 'news/:typeId', component: XxxComponent },
    { path: '**', component: XxxComponent }
    ];

Ответы [ 3 ]

0 голосов
/ 22 января 2019

Существует два способа доступа к параметру маршрута.

  1. Статически (один раз при загрузке страницы)
  2. Динамически (обновляется, если параметр изменяется в вашем приложении без перезагрузки страницы браузером)

Вы можете получить более подробную ссылку здесь: 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 ().

0 голосов
/ 23 января 2019

Я пытаюсь получить эти параметры в "HeaderComponent ts", где он должен вызываться из "XxxComponent". Я добавил этот код параметра маршрута в файл XxxComponent ts, который теперь работает должным образом. Я могу получить параметры маршрута.

0 голосов
/ 22 января 2019

Вы вызываете getNewsByCountry в (click), вероятно, cr.value равно нулю, что такое cr.value? Идентификатор?

...