Тёмный
No video :(

Урок 5. Фреймворк VUE JS. Фильтрация и окно покупки 

WebForMySelf
Подписаться 109 тыс.
Просмотров 19 тыс.
50% 1

Почитайте подробнее о курсе "Фреймворк VUE JS. Полное руководство для современной веб-разработки": webformyself.c...
vue
vuejs
vuejs
vuejswebpack
vuejs2
vuejs
vuejsуроки
vuejsуроки
vuejs2
vuejsпримеры
vuejsформы
webformyself
vuejsкомпоненты
vuejscomponents
vuejsсписок машин
окнопокупкиvuejs
vuejsвведение
фреймворкvuejs
владиленмининvuejs
владиленмининvuejs
webformysels
webformyselfvuejs
webformyselfvuejs
vuejsкурс
vuejsкурсы
nodejsvuejs
фреймворкvuejs

Опубликовано:

 

27 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 38   
@user-pl5gi7uh4p
@user-pl5gi7uh4p 4 года назад
Фильтрацию списка сделал, а при переключении отфильтрованных элементов машины отображаются не правильно, потому что привязаны к индексу(index) который динамический) Добавил каждому элементу id и заменил строку "@click="selectCar(index)" на "@click="selectCar(car.id)". Работает корректно.
@sancho-paska
@sancho-paska 5 лет назад
Владилен, я после Ваших уроков влюбился в JavaScript и Vue.js
@FoketzoRAi
@FoketzoRAi 5 лет назад
Vue.js скоро убьёт jQuery! Vue.js one love!
@tontontonic
@tontontonic 3 года назад
@@FoketzoRAi 2 года прошло, а всет не убил)
@user-rf1ew4ys7c
@user-rf1ew4ys7c 6 лет назад
Отличный курс, но у меня на этом этапе появился баг. Когда производиться поиск по названию и допустим остаются 2 модели, то из-за того что, элементы выстраиваются по индексу могут не совпадать. Например, если ввести Panamera в списке остается одна машина и ее индекс становится равный 0, соответственно справа выводить описание car с индексом=0, а это Ford-Focus. Подскажите как исправить?
@Smiton92
@Smiton92 6 лет назад
selectCar: function (index) { this.selectedCarIndex = index this.car = this.filtredCars[index] }
@LuckyStilet1
@LuckyStilet1 4 года назад
Фильтр не работает 11:34 Порш - выбран, хотя его никто не выбирал, а отображается вообще форд и информация по нему, хотя его нет в отфильтрованном списке. Как сделать нормально?
@maksimvorontsow417
@maksimvorontsow417 4 года назад
Нашли решение проблемы? Если да, то подскажите пожалуйста
@LuckyStilet1
@LuckyStilet1 4 года назад
@@maksimvorontsow417 10:20 Добавь :key="index" для li export default { name: 'app', data: ()=>({ cars, logs: [], selectedCarIndex: 0, show: false, search: '', modalVisibility: false }), methods: { selectCar(idx){ this.car = this.filteredCars[idx] this.selectedCarIndex = idx }, updateSelectedCar(){ const res = this.filteredCars.filter((el)=>Object.is(el, this.car)) if(!res.length){ this.car = this.filteredCars[0] this.selectedCarIndex = 0 } for(const[idx, el] of this.filteredCars.entries()){ if(Object.is(el, this.car)){ this.selectedCarIndex = idx } } }, newOrder(){ this.modalVisibility = false this.logs.push( log(`Success order: ${this.car.name} - ${this.car.model}`, 'ok') ) }, cancelOrder(){ this.modalVisibility = false this.logs.push( log(`Canceled order: ${this.car.name} - ${this.car.model}`, 'cnl') ) } }, computed: { phoneBtnText(){ return this.show ? 'Hide Phone' : 'Show Phone' }, filteredCars(){ const filtered = this.cars.filter((car)=>{ return car.name.indexOf(this.search) > -1 || car.model.indexOf(this.search) > -1 }) return filtered }, car: { get: function(){ return this.filteredCars[this.selectedCarIndex] // поставь v-if="car" на инфу по машине, если машин не найдено }, set: function(val){ return val } } }, components: {} }
@LuckyStilet1
@LuckyStilet1 4 года назад
@@maksimvorontsow417Тогда мне такое было не под силу)) Не работает сохранение выбранной машины, но переписывать уже не буду. selectedCarIndex --- это бред. Нужен ID или то что его заменит. Так как индекс одной и той же машины меняется в зависимости от filteredCars и отследить его там и переназначить это уже дичь. Будут вопросы - пиши
@bahtiyor_halmetov
@bahtiyor_halmetov 3 года назад
почему после поиска когда нажимаешь на машину выводить первую
@mk3mk3mk
@mk3mk3mk 5 лет назад
у меня почему-то не выскакивает модальное окно. Затенение появляется, а само окно - нет
@alexs8579
@alexs8579 3 года назад
Изменилась версия bootstrap5 см. ошибки в консоли. Меняешь ссылки на бустрап и заново копируешь пример обновлённого модального окна. все заработает.
@alexs8579
@alexs8579 3 года назад
и ещё. если ты подключил стили бустрап после своего файла css , то он будет затирать все твои команды. т.е. свой файл подключаешь после бутстрапа и тогда display block работает уже из твоего файла.
@arinasedova7060
@arinasedova7060 5 лет назад
Очень полезное видео! У меня только вопрос: если я хочу , чтобы кнопка BUY вела вообще на другой сайт, как я могу это сделать?? Например, где форд - кнопка BUY ведет на сайт форда, где порше - там кнопка BUY ведет на сайт порше. Каким образом это сделать, можете подсказать?
@arinasedova7060
@arinasedova7060 5 лет назад
@DJ MIAMI ахахахах уже сделала)
@user-os7xv8em1s
@user-os7xv8em1s 4 года назад
Плохо то, что если набираешь буквы, которых нет в названиях авто, список все равно присутствует в полном объеме
@cpaka01
@cpaka01 6 лет назад
как из БД выводить, как взаимодействовать с РНР? нигде об этом ничего не говорится
@NextgenSocialReptile
@NextgenSocialReptile 6 лет назад
Это миникурс, где показываются основы. Полную информацию о том, как работать с базой данных firebase можно найти в полном курсе
@cpaka01
@cpaka01 6 лет назад
а vue вообще работает в связке с php и mysql? так как есть своя небольшая mvc на php и mysql, хотелось бы туда применить vue если это технически возможно
@NextgenSocialReptile
@NextgenSocialReptile 6 лет назад
Да, безусловно. Такие возможности в курсе рассматриваются - использование REST API По сути тоже самое, что делать простые ajax запросы
@cpaka01
@cpaka01 6 лет назад
очень интересно взглянуть хотя бы на пару уроков, дабы иметь представление как оно работает
@NextgenSocialReptile
@NextgenSocialReptile 6 лет назад
В полном курсе рассматриваем) В скором времени на этом канале будет хороший туториал как сделать большое приложение целиком, только в качестве бекенда там будет nodejs, но суть будет такая для любого языка - Java, c, php ...
@user-ld8bq3es2s
@user-ld8bq3es2s 5 лет назад
Подскажите пожалуйста, если номер телефона активирован, при выборе других машин, номер не исчезает, как это исправит?
@mooderatorpro
@mooderatorpro 5 лет назад
при клике на элемент списка phoneVisibility менять на false
@mooderatorpro
@mooderatorpro 5 лет назад
Например, так v-on:click="selectCar(index); phoneVisibility = false"
@user-ld8bq3es2s
@user-ld8bq3es2s 5 лет назад
@@mooderatorpro спасибо
@user-oe1dv7di9y
@user-oe1dv7di9y 5 лет назад
Подскажите пожалуйста, как сделать чтобы в строку поиска можно было писать в любом регистре и результат был корректен?
@user-vc7mr8nv7z
@user-vc7mr8nv7z 5 лет назад
можно использовать toLowerCase( ) filteredUsers() { return this.dataAppUsers.filter( user => { return user.name.toLowerCase( ).indexOf( this.search.toLowerCase( ) ) > -1 }) }
@Cepesh16
@Cepesh16 5 лет назад
@@user-vc7mr8nv7z у меня не сработало, я оставил один toLowerCase() и все заработало. Кому надо вот код: filteredCars() { return this.cars.filter(car => { return car.name.toLowerCase().indexOf(this.search) > -1 || car.model.toLowerCase().indexOf(this.search) > -1 }) }
@gfgddtr6217
@gfgddtr6217 6 лет назад
Есть баг, после фильтрации если остается одна модель -тот же порш, то при нажатии он не появляется справа) как пофиксить?
@NextgenSocialReptile
@NextgenSocialReptile 6 лет назад
Проверить, если computed свойства отдают пустой массив, то обнулить актуальную машину и индекс
@gfgddtr6217
@gfgddtr6217 6 лет назад
в filterCars(), можете описать подробнее?
@md5login
@md5login 6 лет назад
Замените index.html: v-on:click:"selectCar(car, index)" app.js: selectCar(car, index){ this.car = car; this.selectedCarIndex = index; }
@gfgddtr6217
@gfgddtr6217 6 лет назад
Спасибо большое, а можно еще вопрос по vue. Подскажите как вывести график истории изменения криптовалюты по api coincap.io/history/7day/ETC . Вообще из любого api построить график на основе Chart.js
@md5login
@md5login 6 лет назад
Простите, но это очень специфичные требования. Лично я не знаком с vue.js и Chart.js. Предыдущий ответ я Вам дал на основе логики скрипта, не принимая во внимание специфику фреймворка vue.js. Если вы действительно хотите подойти к решению Вашей задачи серьезно, советую сделать акцент на изучение чистого JavaScript. Конкретно, если Вам необходимо одноразово решить поставленную задачу, начните с AJAX запросов со своей страницы на целевую для получения информации. Ссылка выдает данные в формате JSON, что очень удобно для обработки. Выведите на Вашей странице полученные данные простым текстом. Когда у Вас это получится - поищите в документации Vue.js запросы на сервер. Есть один важный момент. Судя по задаче и тому, что Вы ищете решение под таким роликом, Вы хотите пользоваться двухсторонней подвязкой Vue.js (данныеэлемент) вместе с графической библиотекой Chart.js. На вскидку, это кажется сложней, чем пользоваться только одним из интсрументов для получения и вывода таких данных. Важно помнить: иногда для решения простых задач нужен простой подход. Использование технологий ради технологий приводит к ошибкам и уводит Вас от решения Вашей задачи к решению совместимостей, комплексной архитектуры и т.д.
@user-wb2zm4ye4r
@user-wb2zm4ye4r 4 года назад
filteredCar(){ return this.cars.filter( car => ( car.name.indexOf(this.search) > -1 || car.model.indexOf(this.search) > -1 ) ); }
Далее
SIGMA ENVY IS UNTOUCHABLE 🔥 #insideout2
00:10
Просмотров 2,6 млн
Музыкальные пародии
00:28
Просмотров 23 тыс.
НЕ ИГРАЙ В ЭТУ ИГРУ! 😂 #Shorts
00:28
Vue.js - компоненты [урок 4]
18:17
Просмотров 28 тыс.
SIGMA ENVY IS UNTOUCHABLE 🔥 #insideout2
00:10
Просмотров 2,6 млн