Alex
Но в трай можно что уголно нахерачить и вызовы функций ктторые могут быть не функциями и обращения к массивам которые не массивы и т д
🅅aleriy
http://ramdajs.com/docs/#pathOr
🅅aleriy
специально для вынимания значений из глубоких структур
🅅aleriy
Alex
Ну тот же гет лодашовский
🅅aleriy
я лодаш не люблю просто :))
Rishat
Ребят,привет. Вообщем задача такая. В компоненте я делаю connect к socket.io, если успешно, хочу выводить notification успешно законектился к сокету. Стянул значит я vuesax человека и он показывает что в темлпейте можно сделать так <vs-button @click="$vs.notify({title:'Position bottom-center',text:'Lorem ipsum dolor sit amet, consectetur',color:'dark',position:'bottom-center'})" vs-type="dark-flat"> Position Bottom Center </vs-button> и появляется button который вызывает notification, но я хочу сделать на стороне JS в компоненте. Делал так $vs.notify({title:'Position bottom-center',text:'Lorem ipsum dolor sit amet, consectetur',color:'dark',position:'bottom-center'}) но говорит что $vs is not defined. Как делается это правильно не подскажите?
Ivan
window.$vs.notify
Ivan
либо this.$vs.notify
Ivan
там от того где ты вызываешь зависит
Rishat
либо this.$vs.notify
Во, пасиб. Еще один маленький вопросик, а вот если мне template не нужен, мне просто его пустым оставлять? Или это как-то тупо без template юзать компонент?)
Ivan
пустым оставь, но может будет ругаться тогда надо тег любой засунуть туда
L-dar
Пробую сделать SPA, есть непонятка как правильнее. Есть таблица с данными, если я меняю одно значение, то вызываю action, асинхронно сохраняет в бэкенде, и тут как лучше сделать: 1. Если все успешно, вернуть обновленную таблицу и обновить ее в store 2. Если все успешно, не возвращать никаких данных с бекенда, а обновить в store только то значение которое изменилось. Логичней второе. Я просто спришел с php и там как правило на каждое изменение данных, обновляешь полностью таблицу.
L-dar
Зависит от кейса
Не совсем понял, точней вообще не понял.
Egor
Если вдруг несколько людей правят, то могут коллизии быть
Egor
А один запрос не то на чем надо экономить
L-dar
Если вдруг несколько людей правят, то могут коллизии быть
Я еще хочу обновление таблицы делать через websocket, ну это так, чтоб затронуть все технологии помаксимум. То здесь смысла нет обновлять всю таблицу, или что то недопонимаю ?
Egor
Я еще хочу обновление таблицы делать через websocket, ну это так, чтоб затронуть все технологии помаксимум. То здесь смысла нет обновлять всю таблицу, или что то недопонимаю ?
Ну, вебсокеты можешь, но тогда надо прикручивать какой-то эвентсервис, прикручивать очереди, и следить за транзакционностью
Egor
Типа если тебе просто потренится, то пофиг, что возвращать, обычно там всегда пачка данных лежит с куррент дата, которая разливается по клиентам
Egor
Я к чему веду, нужно решать существующие проблемы, как только начнёшь решать не существующие, можно масштабировать то бесконечности
L-dar
Я к чему веду, нужно решать существующие проблемы, как только начнёшь решать не существующие, можно масштабировать то бесконечности
Ну как бы не исключено, если доведу дело до конца, то в прод выведу. Так что хочу по нормальному сразу и как бы практики набраться. Спасибо!
Evgeniy
Всем привет! Я новчиок в Vue, подскажите пожалуйста.. Есть vue 2 + rails 5.2 + webpacker 3.2.2. Есть приложение которое отвечает за часть страницы. Для тестов используется karma + sinon + chai Это было предисловие, а вот проблема: Часть страницы коотрая управляется Vue, содержит форму, с зависимыми друг от друга селектами. Т.е. выбираем первые 2, в следюущих 3-х подтягиваются фильтрованные данные с сервера, выбираем 3й, данные еще фильтруются дополнительно, и т.д. Когда все запросы выполнились по результатам выполняется еще один который запрашивает количество отфильтрованных данных. Все это реализовано через async await и jQuery Ajax, который возварщает Promise, примерно так в watchers: allFields: async function(val) { if(this.areRequiredFieldsFilled()) { this.loading = true; this.getChiefs(); await Promise.all([ this.getCompanies(), this.getSignboards(), this.getUsers() ]); return this.getPhotoCount() } } Каждый из этих методов возращает Promise, а так же обернут в debounce-promise, во избежания множественного повторения запросов. Собственно вопрос - как это тестировать? Я хочу прописать ответы от Sinon fake server для этих запросов, но он почему-то из не видит. В тесте я создаю Sinon fake server и прописываю ему ответ на этот запрос.. Но он его не видит в момент выполнения и возвращает 404(( Без debounce - все ок. Stack Overflow советует использовать sinon.useFakeTimers, но с этим debounce-promise оно видимо не работает( Возможно я что-то делаю не так концептуально?
Egor
ты что-то варишь не так
Evgeniy
В коде или в походе к тестированию?)
Egor
выкоси jquery сделай стейт с сгккутеАilterData и CurrentPhotosСount и делай один запрос, который возвращает {company: [], singns: [], users: [], totalPhotos: 0}
Egor
типа axios.post(curretFilterData){}
Evgeniy
Хм, там просто есть ситуации когда надо выбрать их отдельно.. Например когда меняется компания фильтруются только вывески. Запрос коотрый я привел выше он один раз только выполняется, при заполнении начальных данных, таких как date range
Evgeniy
Но допустим я сделаю на это один отдельный запрос.. Как это решит проблему с тестированием Promise обернутого в debounce? Или идея в том что тогда их не надо будет использовать?
Evgeniy
с axios та же ерунда, он же тоже promise возвращает.. просто jquery есть пока в проекте, от него пока не уйти..
Egor
Слу, хер знает как там организовано у тебя все
Egor
https://gist.github.com/jonnyreeves/2858452
Egor
Синонимы может в прмисы
Evgeniy
ок, спасибо, почитаю
Egor
Чем больше частей входит в механизм, тем больше вероятность, что что-то пойдет не так
Evgeniy
Да как обычно - время) Нужно было сделать как быстрее, а сейчас появилось время зарефакторить и разобраться с тестами.. Вот занимаюсь) Просто так на страницу будет грузиться и axios и jquery, пока не уйдем от jquery полность (т.е. не реализуем фротенд как SPA) Насчет большого количества частей - согласен.
Denys
Ребята, как мне в атрибут src записать переменную со строковым значением?
Denys
А то ошибку выдаёт
Denys
Denys
Разве так нельзя?
Stanislav
Разве так нельзя?
Почитай документацию....
Denys
Почитай документацию....
А можно просто ответить, нету времени читать всю документацию(
Denys
Пожалуйста
Stanislav
А можно просто ответить, нету времени читать всю документацию(
нет. Ты пытаешься выиграть свое время за счет нашего. Не надо так
Denys
нет. Ты пытаешься выиграть свое время за счет нашего. Не надо так
Я думал этот чат для того что бы люди задавали вопросы, а кто знает на них отвечал. так сказать взаимо помощь. У меня всегда так было в других чатах. Эх...
Stanislav
документации
Denys
Вопрос закрыт, спасибо
Egor
Нет времени читать доки
Egor
Ебанутся
Denys
Просто когда тебе дали задачу и ее нужно сделать за 5 дней, что бы получит работу о которой я давно мечтал, нет времени читать доки. Так как их очень много и это не только по vue. Изменяюсь если что-то не так
Egor
Я бы с таким подходом на работу не брал
Armen
И это не негативная сторона чата, а позитивная сторона доки
Denys
Я уже понял, спасибо. Я новичек в ит, так что не судите строго
Armen
Я уже понял, спасибо. Я новичек в ит, так что не судите строго
И мало того, я уже тебя тут видел давно, неужели за всё это время так и не открыл доку?
Roman
Чувак, работа мечты, ебашь
Е**ть, опять новичков сказками пихаете?
Абдула
Люди, можно как то вручную вызвать render функцию и сохранить сгенерированный html в файл?
Oleg
по идее ssr как раз это и делает, как понимаю? https://github.com/chrisvfritz/prerender-spa-plugin
Oleg
точнее ssr немного другое, но вот это как раз просто генерит статичный хтмл еще в ссылках было, проще: https://github.com/stereobooster/react-snap https://github.com/egoist/presite
Ruslan
по идее ssr как раз это и делает, как понимаю? https://github.com/chrisvfritz/prerender-spa-plugin
SSR - Node.js Server который делает JS -> HTML в runtime, Prerender - JS -> HTML во время build. SSR - больше возможностей, больше runtime cost, больше настроек. Prerender - меньше всего :)
Абдула
Мне надо в браузере вызвать
Armen
Ну в mounted можешь сделать const str = this.$el.outerHTML ))
Ruslan
Мне надо в браузере вызвать
самое первое что приходит на ум, сделать $mount и взять outerHTML
Абдула
окей, ща попробую.
Ruslan
+++
Armen
окей, ща попробую.
Делай mount в див, который не прицеплен к ДОМ