@vuejs_ru

Страница 3751 из 3900
s4b0t
04.10.2018
08:13:41
что за магия с пустой стрелкой в инпуте? <v-proper-select @input"() => {}"/>

ed
04.10.2018
08:14:05
что за магия с пустой стрелкой в инпуте? <v-proper-select @input"() => {}"/>
это рыба чтобы код не крашился, туда будут переданы параметры потом

Google
Siarhei
04.10.2018
08:14:08
Ой снова это "а если чтото поменяется". За 10 лет в разработке, я ниразу не видел ситуацию чтоб "чтото" заменилось. И для этого тратить неделю на добавление *лишних* слоев, и потом +20% для создания каждого Экшена, то что надо лезть в отдельные файлы и дописывать *лишние* импорты. В 99% случаев ваш проект или умрет или в погоне замодой будите все переписывать на новый фреймаорк, чем появится причина заменить axios на что либо. Еще раз, добавлять слой который просто удалит одну строчку (с промисом аксиома) и заменит ее на строчку с промисом вашего сервиса не нужно, только добавит лишней работы не зависимо отразмера проекта

ed
04.10.2018
08:14:32
это обычная стрелочная функция

Valerii
04.10.2018
08:14:39
computed: { loading: { set() {}, get() {} } }
А не подсаккажете как закрыть? использую вот такую конструкцию? loading : { return this.$store.getters.loading },

Евгений
04.10.2018
08:15:32
кто-то переходил уже на nuxt 2.1.0 ?

Bohdan
04.10.2018
08:16:21
так не нужно статично забивать)
а потом у тебя изменился формат возвращаемых данных, метод используется в тех же 6 формах - зато у тебя урл константой записан, и если он изменится - надо поменять в одном месте

Dmitry
04.10.2018
08:18:00
именно

Bohdan
04.10.2018
08:18:24
Ой снова это "а если чтото поменяется". За 10 лет в разработке, я ниразу не видел ситуацию чтоб "чтото" заменилось. И для этого тратить неделю на добавление *лишних* слоев, и потом +20% для создания каждого Экшена, то что надо лезть в отдельные файлы и дописывать *лишние* импорты. В 99% случаев ваш проект или умрет или в погоне замодой будите все переписывать на новый фреймаорк, чем появится причина заменить axios на что либо. Еще раз, добавлять слой который просто удалит одну строчку (с промисом аксиома) и заменит ее на строчку с промисом вашего сервиса не нужно, только добавит лишней работы не зависимо отразмера проекта
если твоя разработка про "наклепать, сдать, забыть" - возможно для меня разработка заключается не только в том, чтобы сделать так, чтобы оно работало, а еще и так, чтобы можно было легко отреагировать на изменившиеся требования

Dmitry
04.10.2018
08:18:35
Вы так говорите, словно вы только админки разрабатывали с простыми CRUD операциями и 1 АПИ эндпоинтом.

Google
Siarhei
04.10.2018
08:20:24
Это дело конфига а не сервиса отдельного

Bohdan
04.10.2018
08:20:56
Для этого в аксиос есть baseurl
но суть ведь не конкретно в этом кейсе

изменения бывают разные, и суть абстракций в том, чтобы уменьшить связанность и количество изменений в коде, если изменяются внешние требования

Siarhei
04.10.2018
08:22:18
Спасибо.

В суть абстракции не входит требование для создания *лишних* слоев

Так можно наприлумывапть и 50 и 100 и потом чтоб сделать какую-нибудь мелочь тратить месяц

Dmitry
04.10.2018
08:24:15
Ваш проект растёт, вы обновляетесь на vue3. Изменился vuex, изменились компоненты. С апи слоем вам нужно переписать только новый стор. и освежить вью слой. Без слоя апи вы переписываете всё приложение.

Siarhei
04.10.2018
08:24:58
В вашем случае вы перепмсываете vuex как и в моем

Bohdan
04.10.2018
08:25:10
В суть абстракции не входит требование для создания *лишних* слоев
я не говорю создавать "лишние" их должно быть столько, сколько нужно для минимальной связанности

В вашем случае вы перепмсываете vuex как и в моем
но это изменение будет ограничено

я не буду переписывать половину приложения - ведь я могу сначала обновить vuex, все проверить, а потом обновить апишку (или как угодно иначе)

Siarhei
04.10.2018
08:25:57
Да, отдельный слой в vuex для апи не нужен, для вас этот слой уже сделан и называется axios

Dmitry
04.10.2018
08:26:20
Ладно, пишите как вам удобно. У нас в компании неоднократно была боль по причинам, которые я описывал выше. Если вам в кайф переписывать всё приложение вместо его частей - то переписывайте.

Siarhei
04.10.2018
08:27:36
Дай бог никогда не пересечься на проекте с "адептом 100 слоев", потому что когда-то человек недопонял про абстракцию

Федоров
04.10.2018
08:27:54
@thatside, иногда проще не заморачиваться над абстракциями, а делать просто, и лаконично, "ужато" и в "рамках"

надо знать меру где нужна абстракция, а где нет

Федоров
04.10.2018
08:29:00
в данном случае - проще сделать отдельный javascript со списоком всех ссылок и не долбать мозг)

какая тут абстракция

Google
Федоров
04.10.2018
08:29:10
это не интерфейс для подключения плагинов писать

Dmitry
04.10.2018
08:29:11
Это не абстракция даже, это банально DRY

Zikoi5
04.10.2018
08:29:39
Привет всем. Хотел спросить, существует ли защита от двойного клика?

Siarhei
04.10.2018
08:29:44
Да, это большая, потому что уже сделано в аксиос

Нет тут dry

Федоров
04.10.2018
08:30:05
@Zikoi5, да, существует) называется debounce

Zikoi5
04.10.2018
08:30:16
от лодаш который?

Федоров
04.10.2018
08:30:19
если ты про случайное срабатывание

а если про специальный двойной клик

Zikoi5
04.10.2018
08:30:43
если ты про случайное срабатывание
да именно от случайного

Siarhei
04.10.2018
08:30:45
Ты пишешь axios.Get(something), axios.Post(somethingelse) где ты повторяешь сам себя?

Dmitry
04.10.2018
08:30:53
да что вы говорите? есть 2 действия, для 1го нужны данные 1го. Вы дважды 1 и тот-же запрос будете описывать в экшенах?

а потом апи сменилось (а это будет уже завтра). И вы переписывайте в 2х местах

Абстракция, тут нет dry

)

Федоров
04.10.2018
08:31:21
миксины используйте и не делайте мозг)

сделайте общий метод да и все

сделал миксин - переписываешь в одном месте

Dmitry
04.10.2018
08:31:51
Ну так я о том же.

Google
Siarhei
04.10.2018
08:32:06
Я буду делать либо в методе в then второй метод либо параметрами в экшен сувать какой экшен выполнить после первого

Dmitry
04.10.2018
08:32:15
А мне говорят что это ок всё писать используя тупо аксиос в экшенах, потому что иначе лишняя абстракция, сложно, страшно.

с каких пор банально функция это абстракция и сложно, страшно?)

Siarhei
04.10.2018
08:32:30
Совсем не то говорите

Evgeny
04.10.2018
08:33:25
блин

ты свой голый аксиос потом еще хер протестируешь

Siarhei
04.10.2018
08:33:37
Абстракция (лишний слой) это дорого, и надо добавлять только где нужно, а не где попало. Каждый слой +20% к цене разработки. Для аксиом не нужен слой, если используете его в вуекс

Evgeny
04.10.2018
08:34:44
лично у меня, если говорить упрощенно есть функция создания апи, куда передается некий http клиет с методами get post и тд и который потом возвращает объект с методами апи

Admin
ERROR: S client not available

Evgeny
04.10.2018
08:34:55
и такую кострукцию очень легко простестировать

Hedint
04.10.2018
08:34:57
Обертка над получением данных - это полезная и простая штука, которая может использоваться почти в любых ситуациях и решает кучу возможных кейсов. - помогает держать наши actions чистыми - облегчает тестирование - может внутри себя разруливать кэширование и авторизацию - может внутри себя chain'ить запросы (в json-rpc, например) - может переиспользоваться в других местах/проектах - "ой, мы поменяли API, теперь перепиши 10 actions" - теперь не про вас, вы переписываете в одном месте - устраняет жесткую зависимость (axios), мы в любой момент можем её выкинуть/заменить на другую и пользователь нашей обертки (наш коллега) не заметит никакой разницы

Dmitry
04.10.2018
08:35:53
Так, опять всё понапутали с сервисами. Никто не переизобретает аксиос. Я говорю о том, что не стоит использовать голый аксиос в экшенах, потому что будет ситуация: меняется роут - менять все экшены зависящие от этого роута. Для B нужны данные А но не нужна мутация. - пишите код дважды. меняется роут - переписываете в 5 местах, вместо 1го. и так далее и эта сложность и зависимости будут только расти

Siarhei
04.10.2018
08:35:55
это все за вас уже сделал аксиосю

Dmitry
04.10.2018
08:36:14
Вы нас не слышите.

Siarhei
04.10.2018
08:36:21
и вы меня)

Федоров
04.10.2018
08:36:23
кароче он имеет ввиду, у него изолированная логика, типа клиентская библеотка для собственного API

а axios это просто "транспорт"

с этой точки зрения даже очень правильно

Siarhei
04.10.2018
08:37:00
в таком случае вы создаете слой, только потому что недоверяете, или не умеете пользоваться аксиос на 100%

Google
Evgeny
04.10.2018
08:37:29
вот астрактный пример export default ({ http }) => ({ getUser: () => http.get('/user') }); ..... const api = acreateApi(context); api.getUser() И на тестах мне просто можно передать свой http обект и посомтреть какие там данные уходят и это просто

Dmitry
04.10.2018
08:37:30
даже в примере хакерньюс для чайников апи слой вынесен из экшенов.

Федоров
04.10.2018
08:38:02
если использовать axios напрямую нарушается принцип "черного ящика")

Evgeny
04.10.2018
08:38:39
по опыту это самое нормальное решение

приложению вообще пофигу как там этот getUser реализован

хоть 150 методов

Roman
04.10.2018
08:39:02
в таком случае вы создаете слой, только потому что недоверяете, или не умеете пользоваться аксиос на 100%
Тоесть представим, у тебя есть 5 экшнов, в которых нужно сделать 5 одинаковых http request'ов, и ты в каждом экшене будешь писать все 5 одинаковых запросов?? Или вынесешь его отдельно и импортируешь в экшены?

Dmitry
04.10.2018
08:39:35
Оставь, человек писал простые проекты

и еще меньше поддерживал старые

Roman
04.10.2018
08:39:44
Ну ок

Siarhei
04.10.2018
08:39:54
и потом в 5 экшенах вместо аксиос.гет(чтото), написать аписервис.гетчто-то? сомнительно

Evgeny
04.10.2018
08:39:58
я уже не говорю про тесты, мне не нужно тестировать axios, мне нужно тестировать мой код

Siarhei
04.10.2018
08:40:19
мокаешь аксиос и тстируешь свой код.

Roman
04.10.2018
08:40:34
и потом в 5 экшенах вместо аксиос.гет(чтото), написать аписервис.гетчто-то? сомнительно
А потом у тебя логика изменилась и ты меняешь в 5 местах, а не в 1

Кул стори

Evgeny
04.10.2018
08:40:55
если для вас это не очевидно, то я не буду дальше рассуждать на тему, пишите так как подсказывает вам ваш опыт

Siarhei
04.10.2018
08:40:57
сколько раз за последний год у вас менялась логика?

Roman
04.10.2018
08:41:06
Много

Страница 3751 из 3900