Получить объект, передав идентификатор в Angular навигации - PullRequest
0 голосов
/ 22 марта 2020

Я новичок в angular и учусь angular самостоятельно. У меня есть сомнения относительно передачи данных из одного компонента в другой.

В моем коде ниже я передаю идентификатор, используя метод щелчка. У меня есть образец JSON объекта, который содержит массив объектов. Давайте предположим, что у меня есть 3 объекта с разными идентификаторами, и я зацикливаю данные, используя *ngFor. Теперь, используя метод (click), я передаю свой ID, как показано ниже

goToWorkOrderDetails(id): void {
    this.router.navigate(['/work-orders/work-order-details', { id }]);
 }

На следующей странице я получаю ID, используя

this.route.params.subscribe((params: Params)=> this.user.id= this.params['id'])

Есть ли способ получить полное возражение, содержащее это id?

1 Ответ

0 голосов
/ 22 марта 2020

Вы можете воспользоваться услугой angular. Сохраните там свой объект и получите его на новом компоненте. Если вы хотите отправить их через URL, вы можете использовать NavigationExtras .

Домашний компонент

import {Router,NavigationExtras} from '@angular/router';

const navigationExtras: NavigationExtras = {
  state: {
   id:id,
   name: name,
   ....other properties of your object here
 }
};
this.router.navigate(['/work-orders/work-order-details'], navigationExtras);

newComponent

constructor(private router: Router) {
   const navigation = this.router.getCurrentNavigation();
   const state = navigation.extras.state as {
    id: string,//or whatever you want
    name: string,
   };
console.log("id: " + state.id ",name:" + state.name)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...