CodeBlanks Logo Icon CodeBlanks

Veriyi DOM'a basma

JavaScript kursu · Orta seviye · Ders 93/134

Gelen veriyi template literals ve textContent ile arayüze yansıtırsın.

Veriyi ekrana basmak

Sunucudan gelen veriyi ekrana yansıtmak için weatherResult.textContent özelliğini kullanırız. Bu özellik bir öğenin metin içeriğini ayarlar. Şehir adını ve hava bilgisini tek bir dizede birleştirmek için şablon dizi (template literal) kullanırız: ters tırnak içinde ${değişken} yazarak değerleri gömeriz. `${city}: ${info}` örneğinde city ve info değerleri tek dizede birleşir. Sonucu textContent'e atadığımızda ekranda görünür.

Şablon diziler

Şablon dizi (template literal), ters tırnak içinde yazılan bir dizedir. İçine ${} ile değer gömebilirsin. `${city} - ${info}` yazınca city ve info değişkenlerinin değerleri dizede yer alır. Tırnak veya artı işaretiyle birleştirme yapmana gerek yoktur. Şablon diziler ayrıca birden çok satıra yayılabilir; \n kaçış dizisi yerine doğrudan satır başı yapabilirsin. Bu özellik veriyi ekrana basarken okunabilir kod yazmayı kolaylaştırır.

Uygulama renderWeather işlevini tanımla

Önceki dersin çözümünün üzerine devam et. Bir function renderWeather(city, info) tanımla. İçinde weatherResult.textContent özelliğine `${city}: ${info}` şablon dizisini ata. Böylece şehir ve hava bilgisi tek satırda ekrana basılır.

Örnek çözümü göster
const app = document.querySelector("#app");
const cityInput = document.querySelector("#cityInput");
const getWeatherButton = document.querySelector("#getWeatherButton");
const weatherResult = document.querySelector("#weatherResult");
console.log(app, cityInput, getWeatherButton, weatherResult);

function getWeather() {
  const city = cityInput.value;
  console.log(city);
}

getWeatherButton.addEventListener("click", getWeather);

async function fetchWeather(city) {
  const url = `https://api.example.com/weather?city=${city}`;
  const response = await fetch(url);
  const info = await response.text();
  return info;
}

function renderWeather(city, info) {
  weatherResult.textContent = `${city}: ${info}`;
}

Kendini test et

  1. Sonucu şablon diziyle ata

    weatherResult.textContent = ____;
    Cevabı göster
    weatherResult.textContent = `${city}: ${info}`;
  2. Hangisi değer birleştirmek için şablon dizi kullanır?

    • 'City: ' + city
    • 'City: ${city}'
    • 'City: city'
    • `${city}: ${info}`
    Cevabı göster

    `${city}: ${info}` — Doğru! Ters tırnak ve ${} ile şablon dizi kurulur.

  3. Render adımlarını eşleştir

    template literal
    Değerleri birleştirir
    textContent
    Metni ayarlar
    weatherResult
    Hedef öğe
    ${info}
    Bilgi değerini gömer
  4. renderWeather parçalarını eşleştir

    weatherResult.textContent
    Çıktıyı ayarlar
    ${city}
    Şehri gömer
    ${info}
    Bilgiyi gömer

Orta seviye bölümündeki tüm dersler