Crearea unui manager de listă de produse alimentare utilizând unghiular, partea 2 Gestionarea elementelor

În prima parte a acestei serii de tutorial angular, ați văzut cum să începeți să creați un manager de liste de produse alimentare utilizând unghiular. Ați învățat cum să creați vizualizarea pentru Componenta alimentară, adăugând elemente în lista de produse alimentare și afișând elementele adăugate.

În această parte, veți implementa funcțiile pentru a marca articole finalizate, pentru a edita elementele existente și pentru a elimina elementele adăugate.

Noțiuni de bază

Să începem prin clonarea codului sursă din prima parte a tutorialului. Din terminalul dvs., scrieți în următorul cod pentru a clona codul sursă:

git clone https://github.com/royagasthyan/AngularGrocery

Odată ce codul sursă a fost clonat, navigați la dosarul proiectului și instalați dependențele necesare.

cd AngularGrocery npm instalare

După instalarea dependențelor, veți putea să porniți serverul. Din dosarul proiectului, introduceți următoarele comenzi:

ng servi

Punctați browserul la http: // localhost: 4200 / și ar trebui să aveți aplicația să ruleze.

Actualizarea elementelor de alimentar

Odată ce ați adăugat articolele de băcănie în listă, ar trebui să puteți edita și actualiza elementele. Să furnizăm un buton de editare în grila de afișare care, când se face clic, va permite editarea elementelor existente.

Modificați app.grocery.html cod pentru a include butonul de editare din interiorul grila.

Salvați modificările de mai sus și reporniți serverul. Încărcați pagina și introduceți câteva elemente și veți avea butonul de editare pentru fiecare element.

Când utilizatorul face clic pe butonul de editare, trebuie să adăugați o metodă pe clic pentru a gestiona editarea elementului. Modificați app.grocery.html pentru a adăuga un eveniment pe clic pentru editarea elementului.

Treceți sarcină la onEdit așa cum se arată în codul de mai sus pentru a identifica elementul care urmează să fie editat.

În interiorul GroceryComponent clasa inițializează sarcină variabila de sferă după cum se arată:

sarcină = nume: ", id: 0;

În onClick metoda, veți verifica id pentru a vedea dacă este un articol existent sau un element nou. Modificați onClick după cum se arată:

dacă (this.task.id == 0) this.tasks.push (id: (nouă dată ()). getTime (), name: this.task.name); 

Așa cum ați văzut, ați atribuit o ștampilă unică de timp ca id la fiecare sarcină. Acum, să definim onEdit pentru a edita elementul existent. În interiorul onEdit metodă, alocați-le articol la sarcină variabil.

onEdit (element) this.task = item; 

Salvați modificările și reporniți serverul. Introduceți un element nou în lista de produse alimentare și faceți clic pe butonul de editare corespunzător. Veți putea edita și actualiza înregistrarea făcând clic pe O.K buton.

Ștergerea articolelor pentru produse alimentare

Să adăugăm o pictogramă ștergere pentru a elimina elementele existente. Actualizați app.grocery.html fișier pentru a modifica codul HTML după cum se arată:

Iată cum este complet app.grocery.html file looks:

Managerul listei de produse alimentare

  • task.name

Adăugați un eveniment pe clic pe pictograma eliminare pentru a șterge elementul alimentar.

Salvați modificările și reporniți serverul. Încercați să adăugați elemente noi în aplicația Manager alimentar și veți avea elementele listate împreună cu pictogramele de ștergere și editare.

Pentru a implementa funcția de ștergere, trebuie să adăugați onDelete metodă în app.grocery.ts fișier după cum se arată:

onDelete (element) // Șterge funcționalitatea va fi aici

Odată ce utilizatorul dă clic pe pictograma de ștergere, trebuie să verificați elementul id din lista de produse alimentare și eliminați intrarea din sarcini listă. Iată cum onDelete metoda arată:

onDelete (element) pentru (var i = 0; i < this.tasks.length; i++) if(item.id == this.tasks[i].id) this.tasks.splice(i,1); break;   

După cum se vede în codul de mai sus, ați repetat sarcini afișați-l și verificați-l în raport cu elementul clicat id. Dacă se potrivește cu elementul din sarcini listă, este eliminată utilizând lipitură metodă.

Salvați modificările de mai sus și reporniți serverul. Adăugați câteva elemente la managerul listei cu produse alimentare. Acesta va fi adăugat cu ștergerea și modificarea pictogramelor în grila listei de sarcini. Încercați să faceți clic pe pictograma eliminare și elementul va fi șters din lista de articole.

Marcarea elementului alimentar ca fiind terminat

Să adăugăm funcția pentru a elimina elementele adăugate în listă. Odată ce utilizatorul este terminat cu sarcinile din managerul listei de produse alimentare, ar trebui să fie posibilă depășirea sarcinilor finalizate. Pentru a urmări sarcinile noi și complete, adăugați o nouă variabilă grevă la informațiile despre sarcină. 

Modificați onClick metodă pentru a include noul grevă variabilă după cum se arată:

 onClick () if (this.task.id == 0) this.tasks.push (id: (noua dată ()). getTime (), nume: this.task.name, grevă: false);  aceasta.task = nume: ", id: 0;

Adăugați o nouă clasă numită grevă în src / style.css fișier care ar lovi elementul.

.grevă text-decoration: line-through; 

Includeți un eveniment pe clic pe element pentru a comuta grevă variabilă în variabila elementelor. Veți aplica grevă clasă la elementele bazate pe valoarea booleană a grevă variabil. Implicit, acesta va fi fals. Aici este în grevă pentru a comuta valoarea variabilelor de grevă:

onStrike (element) pentru (var i = 0; i < this.tasks.length; i++) if(item.id == this.tasks[i].id) if(this.tasks[i].strike) this.tasks[i].strike = false;  else this.tasks[i].strike = true;  break;   

Așa cum se vede în metoda de mai sus, repetați prin lista elementelor. Odată ce elementul este găsit, comutați valoarea de grevă.

Bazat pe grevă variabilă, trebuie să aplicați clasa grevă la intervalul de nume al sarcinii. Iată cum arată:

 task.name 

Așa cum ați văzut, ați folosit ngClass directivă pentru aplicarea clasei grevă la elementul de acoperire dacă task.strike valoarea este Adevărat.

Salvați modificările de mai sus și reporniți serverul. Adăugați elementele în listă și faceți clic pe elementul adăugat. După ce ați făcut clic, elementul va fi eliminat conform așteptărilor.

Înfășurați-o

În acest tutorial, ați văzut cum să actualizați, să ștergeți și să marcați sarcina ca fiind completă în aplicația Manager alimentar folosind aplicația Angular. Sper că ți-a plăcut tutorialul. Lăsați-mă să vă cunosc gândurile în comentariile de mai jos.

JavaScript a devenit una dintre limbile de facto de lucru pe web. Nu este fără curbele sale de învățare, și există o mulțime de cadre și biblioteci pentru a vă menține ocupați. Dacă sunteți în căutarea unor resurse suplimentare pentru a studia sau a utiliza în munca dvs., verificați ce avem la dispoziție pe piața Envato.

Oh, și nu uitați că codul sursă din acest tutorial este disponibil pe GitHub.

Cod