jQuery Academy · leksjon

Grunnleggende integrasjon av templating på klientsiden

Forstå hvordan jQuery kan integreres med enkle templating-biblioteker eller egendefinerte funksjoner på klientsiden for effektiv gjengivelse av dynamisk HTML fra JSON-data.

Leksjon 3 av 311 trinn

Grunnleggende integrasjon av templating på klientsiden er en gratis leksjon i jQuery Academy på CoddyKit. Dette er leksjon 3 av 3. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i jQuery Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i jQuery Academy inneholder totalt 3 leksjoner.

Introduksjon til templating på klientsiden

Når De bygger dynamiske nettsider, trenger De ofte å vise data fra en server. Det kan bli rotete og vanskelig å vedlikeholde å opprette HTML-strenger manuelt med JavaScript.

Templating på klientsiden er en teknikk som hjelper Dem med å generere HTML i brukerens nettleser ved hjelp av en forhåndsdefinert struktur (en mal) og data.

Hvorfor bruke templating?

Templating gir flere fordeler for dynamisk innhold:

  • Separation of Concerns: Holder HTML-strukturen atskilt fra JavaScript-logikken.
  • Lesbarhet: Gjør koden ryddigere og enklere å forstå.
  • Vedlikehold: Forenkler oppdateringer av brukergrensesnittet eller dataene.
  • Effektivitet: Kan være raskere enn å bygge komplekse HTML-strenger bit for bit.

Grunntanken: Mal + data

Tenk på en mal som en skisse eller et standardbrev med tomme felt. De lager skissen og fyller deretter de tomme feltene med de faktiske dataene.

Templating-motoren (som kan være en enkel funksjon eller et bibliotek) tar malen og dataene Deres og produserer den endelige HTML-strengen.

Lage en enkel egendefinert mal

For grunnleggende behov trenger De ikke alltid et fullverdig bibliotek. De kan lage en enkel, egendefinert templating-funksjon. La oss definere en mal ved hjelp av plassholdere som {{name}}.

Funksjonen vår tar denne malen og et objekt, og erstatter deretter hver plassholder med den tilsvarende verdien fra objektet.

Eksempel på egendefinert malfunksjon

Her er en enkel JavaScript-funksjon som erstatter plassholdere i en malstreng. Prøv å kjøre den for å se hvordan den fungerer.

function simpleTemplate(template, data) {
  let output = template;
  for (const key in data) {
    const placeholder = new RegExp(`{{${key}}}`, 'g');
    output = output.replace(placeholder, data[key]);
  }
  return output;
}

const myTemplate = "<h1>Hello, {{name}}!</h1><p>You are learning {{topic}}.</p>";
const myData = { name: "Coder", topic: "Templating" };

const renderedHtml = simpleTemplate(myTemplate, myData);
console.log(renderedHtml);

Integrering med jQuery: Dynamisk innhold

Nå som vi har en egendefinert templating-funksjon, kan vi bruke jQuery til å integrere den på nettsiden vår. Dette innebærer:

  • Å definere malen i HTML (ofte i en script-tag med en spesiell type) eller som en JavaScript-streng.
  • Å hente dataene Deres (for eksempel fra en array eller et AJAX-kall).
  • Å gå gjennom dataene og gjengi hvert element med malen.
  • Å legge den genererte HTML-en til i DOM-en ved hjelp av jQuery.

Demo: jQuery + egendefinert mal

La oss se hvordan jQuery hjelper oss med å gjengi en liste over elementer ved hjelp av funksjonen simpleTemplate. Legg merke til hvor ryddig HTML-genereringen blir!

<!DOCTYPE html>
<html>
<head>
  <title>jQuery Templating</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <div id="app"></div>

  <script>
    function simpleTemplate(template, data) {
      let output = template;
      for (const key in data) {
        const placeholder = new RegExp(`{{${key}}}`, 'g');
        output = output.replace(placeholder, data[key]);
      }
      return output;
    }

    const itemTemplate = "<li><b>{{name}}</b>: {{description}}</li>";
    const products = [
      { name: "Laptop", description: "Fast and portable" },
      { name: "Mouse", description: "Wireless optical mouse" }
    ];

    $(document).ready(function() {
      const $list = $('<ul>');
      $.each(products, function(index, product) {
        const html = simpleTemplate(itemTemplate, product);
        $list.append(html);
      });
      $('#app').append($list);
    });
  </script>
</body>
</html>

Mer enn enkle plassholdere

Selv om funksjonen simpleTemplate vår er god for enkel erstatning, trenger templating i virkelige prosjekter ofte mer.

Templating-biblioteker (som Handlebars, Mustache eller Underscore.js templates) tilbyr avanserte funksjoner:

  • Betinget logikk (if/else)
  • Gjentakelse over arrayer direkte i malen
  • Hjelpefunksjoner for formatering av data
  • Automatisk HTML-escaping for å forhindre XSS-angrep

Når bør De bruke et bibliotek?

For enkle scenarier fungerer en egendefinert funksjon som vår fint. Men når det dynamiske innholdet blir mer komplekst, blir et dedikert templating-bibliotek svært verdifullt.

jQuery har ikke selv en innebygd templating-motor, men er utmerket til å hente data (via AJAX) og sette inn den gjengitte HTML-en fra en hvilken som helst templating-løsning i DOM-en.

Rask kontroll: Formålet med templating

Med tanke på fordelene vi har gjennomgått: Hva er den viktigste fordelen ved å bruke templating på klientsiden fremfor å bygge HTML-strenger manuelt ved hjelp av JavaScript-konkatenasjon?

Oppsummering: Grunnleggende templating

De har lært om templating på klientsiden og hvilken rolle det spiller i byggingen av dynamiske brukergrensesnitt. Vi har gått gjennom:

  • Hva det er: Å generere HTML ved hjelp av en mal og data.
  • Hvorfor bruke det: For ryddigere kode som er enklere å vedlikeholde.
  • Hvordan implementere det: Med enkle egendefinerte funksjoner eller dedikerte biblioteker.
  • jQuerys rolle: Å integrere gjengitt HTML i DOM-en.

Denne teknikken er grunnleggende for å bygge datadrevne webapplikasjoner.

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
22
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Grunnleggende integrasjon av templating på klientsiden» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien jQuery Academy, inkludert «Grunnleggende integrasjon av templating på klientsiden», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i jQuery Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Grunnleggende integrasjon av templating på klientsiden»?

Forstå hvordan jQuery kan integreres med enkle templating-biblioteker eller egendefinerte funksjoner på klientsiden for effektiv gjengivelse av dynamisk HTML fra JSON-data. Du øver på jQuery Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med jQuery Academy?

Ingen tidligere erfaring er nødvendig. jQuery Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 3.

Hvor lang tid tar leksjonen «Grunnleggende integrasjon av templating på klientsiden»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne jQuery Academy-leksjonen?

Ja. Alle jQuery Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Utnytte HTML5-dataattributter
  2. Dynamisk innholdsgenerering med data
  3. Grunnleggende integrasjon av templating på klientsiden
← Tilbake til jQuery Academy