Alex
Stanislav
Alex
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
пустым оставь, но может будет ругаться тогда надо тег любой засунуть туда
Rishat
L-dar
Пробую сделать SPA, есть непонятка как правильнее. Есть таблица с данными, если я меняю одно значение, то вызываю action, асинхронно сохраняет в бэкенде, и тут как лучше сделать:
1. Если все успешно, вернуть обновленную таблицу и обновить ее в store
2. Если все успешно, не возвращать никаких данных с бекенда, а обновить в store только то значение которое изменилось.
Логичней второе.
Я просто спришел с php и там как правило на каждое изменение данных, обновляешь полностью таблицу.
Anonymous
Egor
Egor
Если вдруг несколько людей правят, то могут коллизии быть
Egor
А один запрос не то на чем надо экономить
Anonymous
Anonymous
Egor
Egor
Типа если тебе просто потренится, то пофиг, что возвращать, обычно там всегда пачка данных лежит с куррент дата, которая разливается по клиентам
Egor
Я к чему веду, нужно решать существующие проблемы, как только начнёшь решать не существующие, можно масштабировать то бесконечности
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
Egor
Чем больше частей входит в механизм, тем больше вероятность, что что-то пойдет не так
Evgeniy
Да как обычно - время)
Нужно было сделать как быстрее, а сейчас появилось время зарефакторить и разобраться с тестами.. Вот занимаюсь)
Просто так на страницу будет грузиться и axios и jquery, пока не уйдем от jquery полность (т.е. не реализуем фротенд как SPA)
Насчет большого количества частей - согласен.
Denys
Ребята, как мне в атрибут src записать переменную со строковым значением?
Denys
А то ошибку выдаёт
Denys
Denys
Разве так нельзя?
Denys
Пожалуйста
Marseille
Stanislav
Stanislav
документации
Denys
Вопрос закрыт, спасибо
Egor
Egor
Нет времени читать доки
Egor
Ебанутся
Denys
Просто когда тебе дали задачу и ее нужно сделать за 5 дней, что бы получит работу о которой я давно мечтал, нет времени читать доки. Так как их очень много и это не только по vue. Изменяюсь если что-то не так
Egor
Egor
Я бы с таким подходом на работу не брал
Armen
Armen
И это не негативная сторона чата, а позитивная сторона доки
Denys
Я уже понял, спасибо. Я новичек в ит, так что не судите строго
Egor
Egor
Абдула
Люди, можно как то вручную вызвать render функцию и сохранить сгенерированный html в файл?
Oleg
по идее ssr как раз это и делает, как понимаю?
https://github.com/chrisvfritz/prerender-spa-plugin
Oleg
точнее ssr немного другое, но вот это как раз просто генерит статичный хтмл
еще в ссылках было, проще:
https://github.com/stereobooster/react-snap
https://github.com/egoist/presite
Абдула
Мне надо в браузере вызвать
Armen
Ну в mounted можешь сделать
const str = this.$el.outerHTML ))
Абдула
окей, ща попробую.
Ruslan
+++