IzabelaJas / todo

0 stars 0 forks source link

Definicja typu obiektu w TS #7

Open wkulczi opened 1 year ago

wkulczi commented 1 year ago

W aplikacji masz task opisany przez klasę AppComponent. That's a no no.

AppComponent jest klasą wejściową - takim głównym punktem wejścia do aplikacji. Powinien być tylko jeden element tej klasy w całej aplikacji.

Jeśli chcesz zdefiniować jakąś własną strukturę obiektu taką jak ten task to robimy to tak

//w nowym pliku, np. task.model.ts

export interface Task {
  id?: number;
  task_title?: string;
  task_where?: string;
  task_done?: string;
}
wkulczi commented 1 year ago

w kolejnych plikach, gdzie chcesz tego typu używać należy go zaimportować, ale jak zaczniesz pisać typ to pewnie samo zaproponuje import.

Użycie interfejsu wiąże się też ze zmianami. Wcześniej wykorzystywałaś obiekt do reprezentacji swojej struktury więc coś takiego jak task: AppComponent = new AppComponent(); przechodziło. Teraz trzeba będzie zrobić inaczej:

  task: Task = {};

  //lub

  task: Task = {
    task_done: undefined,
    id: undefined,
    task_title: undefined,
    task_where: undefined
  };