Vue

Vue berekende diepe structuren

Vue berekende diepe structuren

Als het gaat om de berekening van geneste of diepe gegevenstypen zoals arrays of objecten, is Vue.js of een andere programmeertaal detecteert niet automatisch de hiërarchische verandering in de gegevens. We weten echter allemaal dat Vue.js biedt de horloge- en berekende eigenschappen om enkele wijzigingsvariabelen uit te voeren. Maar als het gaat om wijzigingen in geneste gegevens, is Vue.js detecteert dat niet. Dit bericht leert enkele wijzigingen door te voeren door de geneste gegevens van arrays of objecten te bekijken.

Voordat u leert over het bekijken van geneste gegevens in Vue.js, laten we eerst begrijpen hoe de eigenschap watch werkt watch?

Bekijk eigendom

De eigenschap watch wordt gebruikt om een ​​variabele te bekijken en stelt de gebruiker in staat een aantal gewenste taken uit te voeren bij de wijziging van de variabele.

Voorbeeld: een variabele bekijken

Als we bijvoorbeeld een variabele veranderen, willen we iets troosten. De syntaxis voor het schrijven van dergelijke code in Vue gaat als volgt:


Na het schrijven van de bovenstaande code, zou de webpagina er zo uitzien:.

Als we op de knop klikken, moet de status van de "boolVar" worden gewijzigd als gevolg van het on-click-attribuut van de knop, en het horloge moet automatisch de verandering in "boolVar" detecteren en de berichtreeks op de console weergeven.

Het werkte prima; het bericht "Knop geklikt" wordt weergegeven op de console.

Maar de kijker kan de verandering niet detecteren en wordt niet ontslagen als het gaat om het bekijken van de arrays of objecten. Laten we daar een demonstratie van zien.

Voorbeeld: een object bekijken

Stel dat we een object in onze component hebben en we willen de wijziging weergeven die is opgetreden in de eigenschap van het object. In het onderstaande voorbeeld heb ik een object gemaakt met de naam "objVar", dat twee sleutel-waardeparen bevat, "item" en "hoeveelheid". Ik heb een knop gemaakt waarbij ik "1" toevoeg aan de hoeveelheid van de sjabloontag. Ten slotte bekijk ik het object "objVar" in de eigenschap watch en geef ik een consolebericht weer.


Nu wordt verondersteld dat deze code de verandering in de hoeveelheid van het object weergeeft. Maar wanneer we de code uitvoeren en op de knop op de webpagina klikken:

Je kunt in de bovenstaande gif zien; er gebeurt niets in de console.

De reden hierachter is dat de kijker niet diep in de waarden van de objecten kijkt, en dit is het echte probleem dat we nu gaan oplossen.

Vue.js biedt de eigenschap deep om diep in de waarden van objecten en arrays te kijken. De syntaxis voor het gebruik van de eigenschap deep en het bekijken van de geneste gegevens is als volgt:

In deze syntaxis hebben we de eigenschap deep op true gezet en de functie handler() opnieuw gerangschikt.

Als we nu, na het wijzigen van de code, de webpagina opnieuw laden en op de knop klikken:

Hier kun je zien dat de watcher aan het werk is en het bericht in de console weergeeft.

Conclusie

Na het lezen van dit bericht, kijken en berekenen van diepe of geneste datastructuren in Vue.js is niet moeilijk meer. We hebben geleerd hoe we de verandering van een waarde in een object of array kunnen bekijken en enkele taken kunnen uitvoeren met behulp van de "deep" eigenschap van Vue.js.

Beste gameconsole-emulators voor Linux
Dit artikel bevat een lijst van populaire emulatiesoftware voor gameconsoles die beschikbaar is voor Linux. Emulatie is een softwarecompatibiliteitsla...
Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...