Innehållsförteckning
En annan av de viktigaste aspekterna som vi måste ta hänsyn till när vi arbetar med Backbone.js Det är minneshantering, eftersom vi har total frihet när vi skapar vår applikation, många gånger måste vi introducera lösningar för att förbättra dess prestanda.Till viss del är detta en fördel, men detta kan bli ett problem, så vi kan sluta koncentrera oss på de intressanta aspekterna av utveckling, för detta kan vi fortsätta utforska det beteende som vi kan uppnå när vi inkluderar förlängningar av Backbone.js till exempel MarionetteJS.
Problem med Views
Genom att ha en återanvändbar vy, måste vi också tänka på hur vi rengör det när vi använder det för att generera ett nytt objekt och dessutom tänka på evenemangshanterareeftersom dessa kan bli ett litet problem inom vår syn. Ett fall som vi kan analysera är följande:
Först definierar vi en vy och vi berättar att när den genereras startar den en varningsruta så att vi vet när händelsen inträffar. Hittills ser vi inget konstigt, men vad som händer om vi återanvänder objektet när vi instansierar modellen, låt oss se:
Vad som händer i det här fallet är att när vi använder samma variabelnamn igen kommer vi att få samma varningsmeddelande igen, detta händer eftersom när den andra användningen av variabeln skapas är den första utanför tillämpningsområdet, så javascript sopor samlar in det för att optimera minnet.
Möjlig lösningEn intressant lösning som vi kan tillämpa är att stänga vyn, med detta uppnår vi att referensen till det ursprungliga objektet bibehålls och då behöver vi inte upprepa metoderna i samband med dess initialisering.
Då skulle vi sitta kvar med något liknande det här:
Vi har kunnat lösa detta problem, men något är fortfarande inte rätt, den manuella hanteringen av detta problem är inte något som ser väldigt användbart ut, eftersom om vi tänker lite längre, vad händer om vi måste göra en ansökan Mycket mer omfattande och komplex, denna typ av lösning skulle bara göra vår applikation mer komplicerad att underhålla och mycket tyngre.
Lösning: MarionetteJS
För att lösa denna typ av ärenden kan vi tillgripa MarionetteJS, som som förlängning placeras på Backbone.js och det hjälper oss med kodreduktion och med att lösa fall som det som visas ovan.
I följande exempel ser vi hur MarionetteJS Du kan lösa problemet helt enkelt genom att binda händelsen igen, helt enkelt:
Genom att göra detta i metoden lyssna på () från Backbone.js, MarionetteJS den är direkt ansvarig för hanteringen av händelsehanterare, med vilka vi undviker att stänga vyerna manuellt, vilket sparar en betydande mängd kod när vi talar om en komplex applikation.
I slutet av denna handledning ser vi hur Backbone.js Den har stor flexibilitet som gör att vi kan bygga lösningar som hjälper oss i utvecklingen av vår applikation.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng