Size: a a a

JavaScript Rules

2020 July 01

MK

Mark Kabatsii in JavaScript Rules
я создал клас с методами: добавить/удалить/рендер. Потом создал инстанс класа -> рендер и при клике вывожу форму -> потом рендер
источник

AL

Alexander Luschenko in JavaScript Rules
ок.
источник

MK

Mark Kabatsii in JavaScript Rules
но 2 рендер срабатывает раньше чем я нажму на кнопку добавить пользователя. И получается что data у меня увеличелась, а рендер не отрисовывает
источник

AL

Alexander Luschenko in JavaScript Rules
ок. Сейчас увы нет времени помогать - занят ДЗ и уроками курса. Если вопрос по курсу - то в чат курса, если нет - то когда будет свободное время.
источник

OS

Oleg S in JavaScript Rules
Mark Kabatsii
я создал клас с методами: добавить/удалить/рендер. Потом создал инстанс класа -> рендер и при клике вывожу форму -> потом рендер
рендер нужно вызывать после сабмита формы а не после ее вывода
источник

MK

Mark Kabatsii in JavaScript Rules
cпасибо
источник

YP

Yura Prokopchuk in JavaScript Rules
Всем привет) Есть вопрос, гуглил - не нашел ничего, мне нужно отрендерить deep object вида(скрин прикреплен) на страницу, как могу сделать, если что на Vue.js. Буду благодарен!
источник

YP

Yura Prokopchuk in JavaScript Rules
источник

MK

Mark Kabatsii in JavaScript Rules
Oleg S
рендер нужно вызывать после сабмита формы а не после ее вывода
сделал, теперь у меня идет рендео нового юзера, но при повторном добавлении +2 того же юзера, езе раз дабовляю +3
источник

AL

Alexander Luschenko in JavaScript Rules
источник

AL

Alexander Luschenko in JavaScript Rules
Mark Kabatsii
сделал, теперь у меня идет рендео нового юзера, но при повторном добавлении +2 того же юзера, езе раз дабовляю +3
Для начала нужно понять как работает рендер. Если он тупо добавляет - то лучше заново перерисовывать весь блок - иначе будет дубляж. Если он добавляет поэлементно - то нужен механизм как у реакта, который каждому элементу присвоит уникальный идентификатор и будет сравнивать состояние до и после и отрисовывать разницу.
источник

MK

Mark Kabatsii in JavaScript Rules
сделал как тест без рендера, идет дубляж:
document.addEventListener('click', event => {
   
console.log(event.target);
   if(
event.target.classList.contains('btn-add')){
       document.querySelector('#modal').classList.remove('hide');
       
add();
   }
})

function
add() {
   const form = document.querySelector('form');
   const submit = document.querySelector('#submit');
   const root = document.querySelector('#root');

   submit.addEventListener('click',
event=> {
       
event.preventDefault();
       const name = form.elements.name.value;
       const lastName= form.elements.lastName.value;
       root.innerHTML += ${name} ${lastName} <br>
       document.querySelector('#modal').classList.add('hide');
   });
}
источник

OS

Oleg S in JavaScript Rules
Mark Kabatsii
сделал как тест без рендера, идет дубляж:
document.addEventListener('click', event => {
   
console.log(event.target);
   if(
event.target.classList.contains('btn-add')){
       document.querySelector('#modal').classList.remove('hide');
       
add();
   }
})

function
add() {
   const form = document.querySelector('form');
   const submit = document.querySelector('#submit');
   const root = document.querySelector('#root');

   submit.addEventListener('click',
event=> {
       
event.preventDefault();
       const name = form.elements.name.value;
       const lastName= form.elements.lastName.value;
       root.innerHTML += ${name} ${lastName} <br>
       document.querySelector('#modal').classList.add('hide');
   });
}
имейте совесть, почитайте  правила, код в песочницу
источник

MK

Mark Kabatsii in JavaScript Rules
ОК, понял. скиньте ссылку в песочницу
источник

I

Ihor in JavaScript Rules
Mark Kabatsii
ОК, понял. скиньте ссылку в песочницу
Любую возьми: codepen, jsfiddle, или любую другую.
источник

MK

Mark Kabatsii in JavaScript Rules
источник

OS

Oleg S in JavaScript Rules
вы каждыйй раз при клике добавляете новый listener, ф-ция add вообще не нужна, код внутри нее достаточно выполнить 1 раз в самом начале
источник

MK

Mark Kabatsii in JavaScript Rules
при клике на submit или на show modal?
источник

OS

Oleg S in JavaScript Rules
Mark Kabatsii
при клике на submit или на show modal?
вообще без клика, просто добавить листенер

удалить 5, 9, и 21 строки достаточно
источник

GK

Gleb Khurtay in JavaScript Rules
доброго времени суток я только начинаю изучение может кто-нибудь может помочь.Ситуация такая у меня есть Grid как можно сделать так что бы при ширине экрана 768зрх и меньше убирался последний столбец
источник