Het creëren van een supermarktlijstmanager met behulp van Angular, deel 2 items beheren

In het eerste deel van deze serie Angular-tutorials zag je hoe je aan de slag moest gaan met het maken van een Grocery List Manager met Angular. U hebt geleerd hoe u de weergave voor het onderdeel Kruidenierswaren maakt, items aan de boodschappenlijst toevoegt en de toegevoegde items weergeeft.

In dit deel implementeert u de functies om voltooide items te markeren, bestaande items te bewerken en toegevoegde items te verwijderen.

Ermee beginnen

Laten we beginnen door de broncode uit het eerste deel van de zelfstudie te klonen. Geef vanaf je terminal de volgende code op om de broncode te klonen:

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

Nadat de broncode is gekloond, navigeert u naar de projectmap en installeert u de vereiste afhankelijkheden.

cd AngularGrocery npm installeren

Na het installeren van de afhankelijkheden, kunt u de server opstarten. Typ de volgende opdrachten in de projectmap:

ng serveren

Richt uw browser op http: // localhost: 4200 / en laat de applicatie draaien.

Kruidenierswaren bijwerken

Zodra u de kruidenierswarenitems aan de lijst hebt toegevoegd, zou u de punten moeten kunnen uitgeven en bijwerken. Laten we een knop voor bewerken in het lijstraster aanbieden die, wanneer erop wordt geklikt, het bewerken van bestaande items inschakelt.

Wijzig de app.grocery.html code om de knop Bewerken in het raster op te nemen.

Sla de bovenstaande wijzigingen op en start de server opnieuw. Laad de pagina en voer een paar items in en u heeft de knop Bewerken voor elk item.

Wanneer de gebruiker op de knop Bewerken klikt, moet u een klikmethode toevoegen om het bewerken van het item af te handelen. Wijzig de app.grocery.html om een ​​on-click-gebeurtenis toe te voegen om het item te bewerken.

Geef de taak naar de onEdit methode zoals weergegeven in de bovenstaande code om het item te identificeren dat moet worden bewerkt.

Binnen in de GroceryComponent klasse initialiseer de taak scoopvariabele zoals getoond:

taak = naam: ", id: 0;

In de bij klikken methode, zult u controleren voor de ID kaart om te zien of het een bestaand item of een nieuw item is. Wijzig de bij klikken methode zoals getoond:

if (this.task.id == 0) this.tasks.push (id: (new Date ()). getTime (), name: this.task.name); 

Zoals te zien, hebt u een unieke tijdstempel toegewezen als ID kaart voor elke taak. Laten we nu de definiëren onEdit methode om het bestaande item te bewerken. Binnen in de onEdit methode, wijs de doorgegeven informatie toe item naar de taak veranderlijk.

onEdit (item) this.task = item; 

Sla de wijzigingen op en start de server opnieuw op. Voer een nieuw item in de boodschappenlijst in en klik op de bijbehorende knop Bewerken. U kunt het item bewerken en bijwerken door op de knop te klikken OK knop.

Kruidenierswaren verwijderen

Laten we een verwijderpictogram toevoegen om de bestaande items te verwijderen. Werk het app.grocery.html bestand om de HTML-code te wijzigen zoals getoond:

Hier is hoe de complete app.grocery.html bestand ziet er:

Manager boodschappenlijst

  • Opdrachtnaam

Voeg een aanklikgebeurtenis toe aan het verwijderpictogram om het kruidenierswarenitem te verwijderen.

Sla de wijzigingen op en start de server opnieuw op. Probeer nieuwe items aan de supermarktmanager-app toe te voegen en de items worden weergegeven, samen met de pictogrammen voor verwijderen en bewerken.

Om de verwijderfunctie te implementeren, moet u de OnDelete methode in de app.grocery.ts bestand zoals getoond:

onDelete (item) // Verwijder functionaliteit zal hier zijn

Zodra de gebruiker op het pictogram voor verwijderen klikt, moet u het item aanvinken ID kaart tegen de boodschappenlijst en verwijder de invoer uit de taken lijst. Hier is hoe het OnDelete methode lijkt:

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

Zoals te zien is in de bovenstaande code, hebt u de taken lijst en controleerde het met het aangeklikte item ID kaart. Als het overeenkomt met het item in de taken lijst, wordt deze verwijderd met behulp van de verbinding methode.

Sla de bovenstaande wijzigingen op en start de server opnieuw. Voeg een paar items toe aan de boodschappenlijstmanager. Het wordt toegevoegd met de pictogrammen voor verwijderen en bewerken aan het takenlijstraster. Klik op het verwijderpictogram en het item wordt verwijderd uit de lijst met items.

Het kruidenierswaren item markeren als Gereed

Laten we de functionaliteit toevoegen om de items toe te voegen die aan de lijst zijn toegevoegd. Zodra de gebruiker klaar is met de taken in de boodschappenlijstmanager, zou het mogelijk moeten zijn om de voltooide taken te verwijderen. Om de nieuwe en voltooide taken bij te houden, voegt u een nieuwe variabele toe staking naar de taakinformatie. 

Wijzig de bij klikken methode om het nieuwe op te nemen staking variabele zoals getoond:

 onClick () if (this.task.id == 0) this.tasks.push (id: (new Date ()). getTime (), naam: this.task.name, strike: false);  this.task = name: ", id: 0;

Voeg een nieuwe klasse toe genaamd staking in de src / style.css bestand dat het item zou verwijderen.

.staking text-decoration: line-through; 

Voeg een aanklikgebeurtenis toe aan het item om het te wisselen staking variabele in de variabele items. Je gaat de. Toepassen staking class to the items op basis van de Booleaanse waarde van de staking variabel. Het is standaard false. Hier is de in staking methode om de waarde van strike variables te schakelen:

onStrike (item) for (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;   

Zoals te zien in de bovenstaande methode, doorloopt u de lijst met items. Zodra het item is gevonden, schakelt u de aanvalswaarde in.

Gebaseerd op de staking variabele, je moet de klas toepassen staking tot de naam van de taak. Hier is hoe het eruit ziet:

  Opdrachtnaam  

Zoals je hebt gezien, heb je de ngClass richtlijn om de klasse toe te passen staking naar het spanelement als het task.strike waarde is waar.

Sla de bovenstaande wijzigingen op en start de server opnieuw. Voeg de items toe aan de lijst en klik op het toegevoegde item. Eenmaal erop geklikt, wordt het item zoals verwacht verwijderd.

Inpakken

In deze zelfstudie hebt u gezien hoe u de taak als voltooid in de app Supermarktbeheer met Angular kunt bijwerken, verwijderen en markeren. Ik hoop dat je de tutorial leuk vond. Laat me je gedachten weten in de reacties hieronder.

JavaScript is een van de de facto talen geworden om op het web te werken. Het is niet zonder zijn leercurven, en er zijn ook genoeg kaders en bibliotheken om je bezig te houden. Als u op zoek bent naar extra bronnen om te studeren of te gebruiken in uw werk, kijk dan wat we beschikbaar hebben op de Envato-marktplaats.

Oh, en vergeet niet dat de broncode van deze tutorial beschikbaar is op GitHub.