# 22: Potreba šablónovania Triky CSS

Anonim

Šablóna je dôležitou súčasťou práce s aplikáciami JavaScriptu. Je celkom bežné, že údaje máte k dispozícii, ale nie vo formáte, ktorý je pripravený na zobrazenie na obrazovke. To sú bežne (ale nie vždy) údaje vo formáte JSON. Je to vynikajúci formát pre prácu s jazykom JavaScript, ale stále ho musíme naformátovať do podoby, ktorú môžeme použiť.

Tu je napríklad niekoľko fiktívnych údajov, ktoré by sme mohli mať po ruke:

var data = ( movies: ( ( movieTitle: "Ender's Game", movieDirector: "Gavin Hood", movieImage: "http://s3-us-west-2.amazonaws.com/s.cdpn.io/3/movie-endersgame.jpg.webp" ),… ) )

A nakoniec by sme z toho chceli urobiť:


Ender's Game

Gavin Hood

Možno si myslíte, že jQuery je v tom úžasný. jQuery je plný nástrojov na prechádzanie / manipuláciu s DOM. Ale nemá veľmi robustnú sadu nástrojov na vytváranie DOM, čo by ste povedali. Verím, že tím jQuery v určitom okamihu uvažoval o pridaní šablónovania, ba dokonca sa pohrával s „oficiálnym“ doplnkom, ktorý sa však nerozbehol.

V tomto videu jednoducho nerobíme to, čo sa dnes tradične považuje za šablónu. Jednoducho sme postavili nový pomocou jQuery a pomocou reťazenia reťazcov vytvorili potrebné HTML a nakoniec ho vložili na stránku. Nie je na tom nič technicky nesprávne, ale snažím sa jazdiť domov, ako sa tento prístup môže rýchlo vymknúť spod kontroly.

Len v troche JS, ktorú píšeme v tomto videu, miešame rôzne starosti / úlohy:

  1. Získavanie údajov. Len to tu máme po ruke, ale pravdepodobne je to o niečo zložitejšie. Možno asynchrónna požiadavka Ajaxu so spracovaním chýb a ukladaním do pamäti a podobne.
  2. Zobraziť logiku. Rozhodujeme sa, čo musíme ukázať. Koľko? Ktoré časti? Na základe čoho?
  3. Riešenie udalostí. Naše novo vložené divy mali namiesto vytvárania delegácií pridané spracovanie udalostí, keď sme ich vytvorili.
  4. Šablóna. HTML, ktoré tvoríme, aby sme dosiahli dizajn, štruktúru dát a vyhoveli potrebám.

Toto je špagetový kód, ktorý sme dokončili:

Pozrite si pero 31b07f30dce13b31904da36693b29b41 od Chrisa Coyiera (@chriscoyier) na stránkach CodePen

Ďalší blok videí sa zameria na veľa šablón, pretože je to veľmi dôležité, ale nakoniec všetky tieto obavy rozdelíme a skončíme s oveľa organizovanejším a udržiavateľnejším kódom.