Viimases videos käsitlesime juhtrauale mallimist. Kuid juhtrauad pole plokis ainus mallilahendus. Selles videos kasutame alljoonena saadaval olevat malli.
Miks? Üks põhjus on see, et võite juba oma projektis kasutada alakriipsut. See on äärmiselt populaarne raamatukogu, sest nagu jQuery, pakub see ka hulgaliselt kasulikke meetodeid, mis töötavad brauserite vahel. Nagu nad ütlevad:
JQuery tuxi ja Backbone.js sukahoidjatega koos käimine on lips.
Kui kasutate juba alakriipsutust, oleks see suur stiimul selle mallide kasutamiseks.
Ka minu kiirtestimisel on juhtraua 1.0.0 14,2 kB tihendatud ja minimeeritud ning alakriipsuga 4,9 kB tihendatud ja minimeeritud. Juhtraual on lihtsalt rohkem funktsioone (nt kommenteerimine, tsüklid, teed, loogika jne). Meie lihtsas demos pole neid funktsioone niikuinii vaja, nii et see pole just aus võrdlus, aga oh, me lihtsalt õpime.
Selle asemel, et mall HTML-is oleks, peame JavaScriptis määratlema alakriipsumallid. Oleme tagasi mingite stringide liitmise juures.
var compiled = _.template( "
" + " " + "
" + "" + "
" + "" + "" + "
" + " " + " " );
compiled
seejärel muutub funktsiooniks, mida saame kutsuda oma andmeobjekti kontekstiga, ja tagastab HTML-i, mis on kogu nende andmetega täidetud. Tõhususe huvides ühendame HTML-i, mis naaseb ühte suurde stringi, et saaksime selle DOM-i lisada vaid ühe korra:
var i, html = ""; for (i = 0; i < data.movies.length; i++) ( html += compiled(data.movies(i)); ) $("#movies").append(html);
Selles videos abstraktselt eemaldasime ka andmete hankimise. Lõime JSON-i allika ja selle saamiseks kasutasime jQuery funktsiooni $ .getJSON (). Nagu peaksime seda tegema reaalses elus.
$.getJSON("/path/to/json.js", function(data) ( ));
Meie for loop ja selline, mis nendele andmetele tugineb, läheb sinna tagasi helistamiseks. Või tõenäolisemalt kutsub see mõne muu hästi nimetatud funktsiooniga toime tulema, hoides asjad puhtalt lahus.
Siia jõudsime:
Vaadake Code Cenilt Chris Coyieri (@chriscoyier) pliiatsi Pen IpAdn
Tuleb märkida, et LoDash ühildub 100% siin tehtuga. Ma pole päris kindel, kas LoDashi mallid on paremad / kiiremad / aeglasemad / halvemad kui Underscore'i omad, kuid vahetasin teegid välja ja demo toimis suurepäraselt.