Задать вопрос
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)
Подскажите на что обратить внимание?
Спасибо
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
В ангуляре однонаправленный поток данных и мутировать входящий объект - идиотская затея
А проблема у тебя потому, что ты не проверяешь, пришел тебе this.member или он undefined
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Крона Лабс Екатеринбург
от 200 000 ₽
Wanted Санкт-Петербург
До 120 000 ₽
от 60 000 до 120 000 ₽