#28 Попап и scoped slots - Vue.js: практика

  Рет қаралды 18,268

JavaScript.Ninja

JavaScript.Ninja

Күн бұрын

Пікірлер: 38
@404Negative
@404Negative Жыл бұрын
Илья: ивенты наверх, пропсы вниз, функции через пропсы не передаём. Слоты: подержите моё пиво
@morwen5899
@morwen5899 3 жыл бұрын
Спасибо за ваш труд! На мой взгляд в учебных курсах не хватает именно такой информации, связанной с архитектурой приложения, базовым пониманием работы фреймворков и грамотными практическими занятиями.
@serhii3328
@serhii3328 3 жыл бұрын
Это видео просто открыло мне совсем другой вид на слоты! С каждым вашим видео понимаю что я очень много писал плохого кода, в том числе применял vuex как вы и подметили для таких решений. Спасибо!
@vladislavstepanov7591
@vladislavstepanov7591 3 жыл бұрын
Еще давно увидел такую же логику во вьютифае. Можно сказать вьютифай мне открыл глаза на качественное апи компонентов)
@prosto_germania
@prosto_germania 3 жыл бұрын
очень четко разжевано...спасибо вам и вашей команде за вклад в развитие качественного кодинга.
@Antonio-fm1sq
@Antonio-fm1sq 3 жыл бұрын
Спасибо! Звук - топ!
@perejro9916
@perejro9916 3 жыл бұрын
Спасибо за труд. Решение было очевидное, ибо реакт подходы все меня никак не покидают :)
@russianstan
@russianstan 3 жыл бұрын
Отлично! Спасибо большое, очень полезное видео
@aazubakin
@aazubakin 3 жыл бұрын
Хороший урок. Резюме можно даже записать, чтобы не забыть.
@taran_dm
@taran_dm 3 жыл бұрын
Спасибо за труд. Было полезно!
@tehnoblog6430
@tehnoblog6430 Жыл бұрын
Подскажите пожалуйста, почему может быть такое, что я передаю метод в слот, а он undefined, а переменные работают Очень нужно помогите
@johndevil4843
@johndevil4843 3 жыл бұрын
не реактивные данные обязательно складывать в options, а не в data? Это насчет текста confirmation
@TheHaykokalipsis
@TheHaykokalipsis 3 жыл бұрын
Спасибо большое за уроки. А будут ли продолжения? В частности интересует проект кинотеатр который если всё правильно помню мы должны были кодить с помощью вашего бэкэнда.
@stow1x
@stow1x 3 жыл бұрын
Круто, спасибо 🙂
@andrewelnichenko9082
@andrewelnichenko9082 Жыл бұрын
Такой вопрос, а где разбор домашних заданий по криптономикону?)))))
@tylerdurden3869
@tylerdurden3869 3 жыл бұрын
Можно ли в Slots Передать компонент с кнопками? Если да, то как поймать события ?
@mrVandecko
@mrVandecko 3 жыл бұрын
1.Чому одразу не повісити stop - @click.stop="close()" ? 2.Чому подію не задати через модифікатор - @keydown.esc="this.close()" ?
@alexs7931
@alexs7931 3 жыл бұрын
Спасибо за видео. Бывает когда popup вылезает с боку, например настройки, вводишь в его поля много информации, а потом случайно кликаешь мимо, например когда хотел выделить текст для замены, из а этого окно закрывается, и все заполненное удаляется. Края формы надо стараться делать по больше.
@IgorKravets81
@IgorKravets81 2 жыл бұрын
Спасибо!
@ВладиславЛозинский-н6р
@ВладиславЛозинский-н6р 3 жыл бұрын
Вопрос по поводу передачи функции. Как будет правильнее.. Таким же способом, можно передать ф-цию в дочерний компонент, допустим дано: В родительском компоненте массив c объектами - toDoList - и функция - deleteItem, которая, допустим, принимает ID эл-та и удаляет один итем из массива toDolist. Есть дочерний компонент toDoItem и внутри кнопка УДАЛИТЬ. Допустим, нам нужно удалить эл-т. Отсюда вопрос, какой подход будет правильнее -- по нажатию на кнопку 'удалить' в дочернем компоненте, вызывать emit, а после в родительском подписываться на событие и уже запускать функцию deleteItem ИЛИ же передать функцию deleteItem в дочерний и по клику на кнопку 'удалить' вызывать напрямую эту самую функцию?
@JavaScriptNinja
@JavaScriptNinja 3 жыл бұрын
Передавать функции во вью неверно. Правильно использовать события
@ВладиславЛозинский-н6р
@ВладиславЛозинский-н6р 3 жыл бұрын
@@JavaScriptNinja Благодарю за ответ
@MorevOnline
@MorevOnline 3 жыл бұрын
Звук стал значительно приятнее в сравнении с прошлыми видео. Апдейт оборудования? Что используешь для записи?
@MrNightingale1989
@MrNightingale1989 3 жыл бұрын
Спасибо за видео! Если используешь key modifiers (а-ля :keyup.esc="close") вместо добавления листенера, то под капотом у вью это всё тот же эвент листенер, только не нужно удалять его перед дестроем компонента? Кажется, что так проще писать, но может есть какие-то нюансы :)
@JavaScriptNinja
@JavaScriptNinja 3 жыл бұрын
Да, но здесь мы не можем этого делать - мы ж на document вешаемся
@ИванИванов-ц5ю6х
@ИванИванов-ц5ю6х 3 жыл бұрын
@@JavaScriptNinja а компонент и не должен трогать document, разве нет?
@sony1939
@sony1939 Жыл бұрын
ошибка: this.close() is not a function
@maksymgapachilo9507
@maksymgapachilo9507 3 жыл бұрын
Ну если кнопка будет межами Компонентом Popup, а как мне тогда достать функцию с Popup?) Например был такой случай, что когда нажимаю на кнопку редагувать(кнопка в родителя) то метод должен выполниться в компоненти ребенка, метод такой там( записывает даные в v-model компонента ребенка)
@maksime833
@maksime833 2 жыл бұрын
Спасибо за видео. Но есть один вопрос, кто может помочь? на 08:30 в mounted мы имеем такую прослушку : document.addEventListener("keydown", (e) => { if (this.isOpen && e.key === "Escape") { this.close(); } }); но почему если сделать так, то не срабатывает: document.addEventListener("keydown", function (e) { if (this.isOpen && e.key === "Escape") { this.close(); } }); Как я понимаю, что всему виной this. Подскажите, если не сложно. Ну, или скиньте ссылку, чтобы я смог почитать. Заранее благодарен!
@ВладДунаев-э2ъ
@ВладДунаев-э2ъ 2 жыл бұрын
Есть разные типы функций, если в кратце то: функция с словом function () { // } создаёт свой контекст, т.е. свой this. Стрелочная же ссылается на контекст родителя, т.е. компонента. Почитай про контекст в общем, в случае с ключевым словом function нам пришлось бы делать байнд контекста
@404Negative
@404Negative Жыл бұрын
@@ВладДунаев-э2ъ причем тут контекст... нет ссылки на лямбду вот поэтому и не получится удалить
@АртемЛамзов
@АртемЛамзов Жыл бұрын
Не понимаю, чуть ли не в каждом видео автор говорит о том что во вью используется компонентный подход и не следует передавать компонентам функции(методы) через пропсы, используйте события (эмиты) и ловите их, а тут так легко эту концепцию игнорирует. Без негатива, видео очень полезные и тд, но ни у кого не возникает вопросов о корректности данного подхода и его противоречивости относительно общей концепции? P.s сам пишу на реакте и ничего против передачи функций через пропсы не имею)
@johnshvets8593
@johnshvets8593 3 жыл бұрын
захотелось поотбивать себе руки за то, что использовал в такой ситуации refs
#29 Попап и промисы - Vue.js: практика
21:57
JavaScript.Ninja
Рет қаралды 23 М.
#10 Криптономикон-1 - Vue.js: практика
39:15
JavaScript.Ninja
Рет қаралды 116 М.
Air Sigma Girl #sigma
0:32
Jin and Hattie
Рет қаралды 45 МЛН
БАБУШКА ШАРИТ #shorts
0:16
Паша Осадчий
Рет қаралды 4,1 МЛН
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
#7 «Теория ограничений» - Vue.js
11:47
JavaScript.Ninja
Рет қаралды 48 М.
Vue.js и адекватный пререндеринг
1:21:34
Дмитрий Лаврик
Рет қаралды 10 М.
#1 Зачем нужен Vue.js? - Vue.js: концепции
18:27
JavaScript.Ninja
Рет қаралды 205 М.
Vue Slots Simplified
7:25
LearnVue
Рет қаралды 58 М.
#32 Асинхронные хуки - Vue.js: нюансы
12:25
JavaScript.Ninja
Рет қаралды 18 М.
#25 Нативные события - Vue.js: нюансы
14:02
JavaScript.Ninja
Рет қаралды 16 М.
Air Sigma Girl #sigma
0:32
Jin and Hattie
Рет қаралды 45 МЛН