Felino
@Felino

Angular запись данных как?

export class FullModel {
    constructor(
      public firstName: string,
      public lastName: string,
      public avatar: string,
      public company: string,
      public title: string,
      public email: string,
      public phone: string,
      public street: string,
      public city: string,
      public zipCode: string,
      public country: string
    ) {
  }
}

@Input()
  member:FullModel[]
  data1:any
  search='';
  constructor(private peopleService:PeopleService) { }

  ngOnInit() {
     this.peopleService.getPeople().subscribe(data =>
     {
       this.data1=data;
       
       for(let i in this.data1) {
         this.member[i].firstName= this.data1[i].general.firstName;
         this.member[i].lastName= this.data1[i].general.lastName;
         this.member[i].avatar= this.data1[i].general.avatar;
         this.member[i].company= this.data1[i].job.company;
         this.member[i].title= this.data1[i].job.title;
         this.member[i].email= this.data1[i].contact.email;
         this.member[i].phone= this.data1[i].contact.phone;
         this.member[i].street= this.data1[i].address.street;
         this.member[i].city= this.data1[i].address.city;
         this.member[i].zipCode= this.data1[i].address.zipCode;
         this.member[i].country= this.data1[i].address.country;
       }
       console.log(this.member)
     });

В отдельности каждый атрибут в консоль выводится! но при записи в member выкидует ошибку:
ERROR TypeError: Cannot set property 'firstName' of undefined
at SafeSubscriber._next (list-people.component.ts:25)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:195)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:133)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:77)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
at MapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/map.js.MapSubscriber._next (map.js:41)
at MapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
at FilterSubscriber.push../node_modules/rxjs/_esm5/internal/operators/filter.js.FilterSubscriber._next (filter.js:38)
at FilterSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:54)
at MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber.notifyNext (mergeMap.js:79)
Подскажите на что обратить внимание?
Спасибо
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
В ангуляре однонаправленный поток данных и мутировать входящий объект - идиотская затея
А проблема у тебя потому, что ты не проверяешь, пришел тебе this.member или он undefined
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы