Давайте перейдем от регистрации данных на консоли для отображения его в Интернете.
В файле index.html я создам div с идентификатором root и h1 элемента.
Habits
Я получаю доступ к этому элементу из моего index.js, используя getelementbyId () и сохранить его до переменной.
const container = document.getElementById('root');
Я буду использовать Iconify Icons, поэтому добавим тег скрипта в заголовок моего HTML-файла. Я пытался использовать шрифт потрясающие значки для этого Но я продолжал получать ошибку несоответствия типа на консоли. (Я бы очень ценю помощь о том, как идти об этом)
Переход к файлу index.js у меня уже есть AXIOS FORTTHING DATA COMBERS Отказ Axios возвращает обещание, поэтому я ценю тогда () Метод, который в основном говорит «Эй, после того, как вы закончите, извлеките данные, продолжайте следующие операции. «Если извлечение данных не удается, мне нужно поймать эту ошибку, поэтому я ценю .CATCH () Способ и пройти в функцию стрелки, которая выступает в результате ошибки.
const response = await axios({
url:
'http://localhost:4000/habittracker/habits',
method: 'get'
})
.then()
.catch(err => {
console.log(err)
})
Внутри .then () Я передам функцию стрелки с помощью параметра в качестве параметра. Мой функциональный орган будет включать в себя переменную декларацию, которая выполняет Ответ . Использование foreach () Метод я буду петлю через свойства данных.
.then(response => {
let data = response.data;
data.forEach(habit => {
//code
})
})
В foreach () Метод пройдет функцию стрелки с привычкой в качестве параметра. Затем создайте и добавьте следующие HTML-элементы.
- Div с классовой картой.
const card = document.createElement('div')
card.setAttribute('class', 'card')
container.appendChild(card)
Вышесказанное просто говорится, создайте div с классом карты и добавьте его как ребенок корневого элемента (контейнера).
- Div с контентом класса. Это будет детский элемент карты. Это также будет «нести» два ребенка; вход и абзац.
const content = document.createElement('div')
content.setAttribute('class', 'content')
card.appendChild(content)
const input = document.createElement('input')
input.setAttribute('type', 'checkbox')
content.appendChild(input)
const p = document.createElement('p')
p.setAttribute('class', 'habit-title')
p.textContent = habit.title
content.appendChild(p)
Привычка. Титл Позволяет добраться до вашего свойства заголовка из привлеченных данных.
- Div с классом Редактировать (Из-за отсутствия лучшего имени) 😅 который будет детским элементом карты и имеет два дочерних элемента.
const edit = document.createElement('div')
edit.setAttribute('class', 'edit')
card.appendChild(edit)
edit.insertAdjacentHTML('beforeend', '');
edit.insertAdjacentHTML('beforeend', '');
inslipadjacenthtml () используется для добавления указанной строки в виде элемента HTML. Требуется два параметра позиция и HTML-строка. В этом случае я вставляю HTML в качестве последнего ребенка в элементе.
Наконец, мы добавим файл style.css. Вы можете найти CSS здесь Отказ
Выход с MongoDB и сервером работает:
✍day 14.
Оригинал: “https://dev.to/mtee/consuming-api-s-part-2-1b51”