F
F
Felino2018-08-02 10:44:11
Angular
Felino, 2018-08-02 10:44:11

What's wrong I can't understand?

https://github.com/Felino7727/incode7727

export class AppComponent implements OnInit {

  public fulls: FullModels[];
  public data1: any;

  constructor(private peopleService: PeopleService) {
  }

  ngOnInit() {
    this.peopleService.getPeople().subscribe(data => {
      this.data1 = data;

      for (let i in this.data1) {
        this.fulls[i] = [
          new FullModel(
            this.data1[i].general.firstName,
            this.data1[i].general.lastName,
            this.data1[i].general.avatar,
            this.data1[i].job.company,
            this.data1[i].job.title,
            this.data1[i].contact.email,
            this.data1[i].contact.phone,
            this.data1[i].address.street,
            this.data1[i].address.city,
            this.data1[i].address.zipCode,
            this.data1[i].address.country)
        ]
        console.log(this.fulls[i])
      }
    });
  }
}

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
    ) {
  }
}

export interface FullModels {
  fulls:FullModel[]
}

Error:
ERROR TypeError: Cannot set property '0' of undefined
at SafeSubscriber._next (app.component.ts:23)
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)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
V
Vladimir, 2018-08-02
@Casufi

this.fulls is undefined, you declare it, but don't set it.
And again, it's a bad idea to mutate an incoming object, the right way to an architecture of shit and stilts, it's not in vain that they made a unidirectional data flow.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question