@Human201

Почему не выводится сообщение на JavaScript?

Помогите пожалуйста, почему не выводится сообщения "Постов пока нет"?
В чем ошибка?

const card = post => {
    return `
    <div class="card z-depth-4">
        <div class="card-content">
        <span class="card-title">${post.title}</span>
        <p>${post.text}</p>
        <small>${post.date}</small>
        </div>
        <div class="card-action">
            <button class="btn btn-small red">
                <i class="material-icons">delete</i>
            </button>
        </div>
    </div>
    `
}

let posts = []
const BASE_URL = '/api/post'

class PostApi {
    static fetch() {
        fetch(BASE_URL, {method: 'get'}).then(res => res.json())
    }
}

document.addEventListener('DOMContentLoaded', () => {
    PostApi.fetch().then(backendPosts => {
        posts = backendPosts.concat()
        renderPosts(posts)
    })
})

function renderPosts(_posts = []) {
    const $posts = document.querySelector('#posts')

    if (_posts.length > 0) {
        $posts.innerHTML = posts.map(post => card(post)).join(' ')
    } else {
        $posts.innerHTML = `<div class="center">Постов пока нет</div>`
    }
}

В чем ошибка? почему не выводится сообщение "Постов пока нет"?
Также, если не правильно объяснил проблему, или не показал полного кода, то вот ссылка на весь проект -> https://www.dropbox.com/sh/5cqq3ny7u1mrwtv/AABkmOj...
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@StockholmSyndrome
class PostApi {
  static fetch() {
    return fetch(BASE_URL, {method: 'get'}).then(res => res.json())
  }
}

вместо
class PostApi {
  static fetch() {
    fetch(BASE_URL, {method: 'get'}).then(res => res.json())
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы