@vuejs_ru

Страница 3345 из 3900
Фёдор
29.07.2018
15:37:48
имеют право на жизнь такие варианты? Или всё говно, сносить и переписывать всю приложуху?
Сделал так, может криво и неэлегантно, но просто и работает const actions = { //Экшн вызывается после успешной авторизации user_saveToken ({commit}, token) { localStorage.setItem('userAuthToken', token) axiosInstance.defaults.headers.common['Authorization'] = token },

Фёдор
29.07.2018
15:43:25
Furrya
29.07.2018
15:43:27
Сделал так, может криво и неэлегантно, но просто и работает const actions = { //Экшн вызывается после успешной авторизации user_saveToken ({commit}, token) { localStorage.setItem('userAuthToken', token) axiosInstance.defaults.headers.common['Authorization'] = token },
import services from '@/services'; import * as TYPES from './mutation-types'; const httpClient = services.httpClient; // axios const localStore = services.localStore; const subscribe = (store) => { store.subscribe((mutation, { Login }) => { switch(mutation.type) { case TYPES.SET_AUTH_TOKEN: httpClient.authToken = Login.authToken; localStore.Login.authToken = Login.authToken; break; default: break; } }); }; export default (store) => { subscribe(store); }; Как пример

Google
Саша
29.07.2018
15:43:36
Как получить значение полей из формы при сабмите? Я видел вариант const { email, password } = this, но у меня так не работает :( У меня получается только const { email, password } = this.$refs.login

Саша
29.07.2018
15:44:57


Фёдор
29.07.2018
15:46:36
форму может c v-model сделать? И пусть поля в data складывает себе

Furrya
29.07.2018
15:46:46
action коммитит что то в стор (вызывает commit) subsribe для подобных кейсов и придуман же нет? Я чего не знаю?

Фёдор
29.07.2018
15:47:32
action коммитит что то в стор (вызывает commit) subsribe для подобных кейсов и придуман же нет? Я чего не знаю?
Может, я не знаю, как лучше, потому пытаюсь выяснить, в чем есть преимущества

По моей логике у меня сейчас есть экшн + мутация. В экшене пару лишних строк. А если ещё подписываемся, то будет экшн + мутация + подписка на мутацию - и больше кода

Furrya
29.07.2018
15:53:57
Может, я не знаю, как лучше, потому пытаюсь выяснить, в чем есть преимущества
Разделение логики. action smth vuex модуля знает о http клиенте в аппе, зачем так жестко связывать? кода столько же, на примитивных примерах профита не видно правда, но про связанность и связность кода не зря же даже книжки пишут наверно?))

Google
Фёдор
29.07.2018
15:58:13
login() { console.log(this.loginData) }

login() { console.log(this.loginData) }
выводит в консоль объект с полями?

Саша
29.07.2018
16:00:38
Обзёрвер

А пустая строка - это console.log(email, password) o.o

Фёдор
29.07.2018
16:04:27
ну вон там и email и password, если на точечки кликнуть, должен показать значения.

если они там синхронны с полями на форме, то всё ок

Atkisai
29.07.2018
16:06:32


а nginx вопще отказывается видеть индекс) пишет 404

Саша
29.07.2018
16:08:35
Я через props передаю в компонент loginData.email

DimenSi
29.07.2018
16:09:38
без сервера нет смысла открывать файл, не открывай его напрямую через браузер, пути стоят абсолютные в файле, а не релативные. То, что nginx не видит index.html это ты косячешь

Фёдор
29.07.2018
16:09:40
Саша
29.07.2018
16:10:21
а обратно?
Хм, похоже, никак ?

Фёдор
29.07.2018
16:10:33
Там ""
В компоненте methods: { onInput(value) { this.$emit('input', value) }, },

Саша
29.07.2018
16:10:59
Фёдор
29.07.2018
16:11:15
<Input @on-change="onInput" :value="value" ... >

Саша
29.07.2018
16:15:19
Google
Фёдор
29.07.2018
16:16:37
Ооооо, спасибо ??
Работет хоть? А то я тот ещё советчик ?

Саша
29.07.2018
16:17:19
Работет хоть? А то я тот ещё советчик ?
Честно говоря, ваш последний совет даже в документации есть :D

DimenSi
29.07.2018
16:17:26
<Input @on-change="onInput" :value="value" ... >
@on-change же нет такого

Roman
29.07.2018
16:17:30
<Input @on-change="onInput" :value="value" ... >
тут скорее всего должен быть @input

DimenSi
29.07.2018
16:17:31
наркоманы чтоль

Roman
29.07.2018
16:17:43
и как бы @on- такого нет же ?

вот @change да

Фёдор
29.07.2018
16:18:03
@on-change же нет такого
я скопипастил из своего кода, где сторонняя либа предоставляет такое событие, пожалуй, стоило бы поправить, да

Саша
29.07.2018
16:18:06
Это детали - я понял и написал правильно)

Фёдор
29.07.2018
16:20:41
Точно умнее меня ?

DimenSi
29.07.2018
16:21:05
и че за компонент

Фёдор
29.07.2018
16:21:45


https://www.iviewui.com/components/select-en#Select_events

Для инпутов у них та же история https://www.iviewui.com/components/input-en#Input_events

DimenSi
29.07.2018
16:25:12
кошмар

Evgeniy
29.07.2018
16:27:15
Ребята как реализовать ajax прокрутку? Какой лучше метод использовать get или post? Сервер должен возвращать обычную выборку с несколькими записями? Если да, то что на клиентской стороне делать?

Google
DimenSi
29.07.2018
16:29:12
по семантике пост создает новую запись, а не получает существующие

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

Фёдор
29.07.2018
16:34:28
Ребята как реализовать ajax прокрутку? Какой лучше метод использовать get или post? Сервер должен возвращать обычную выборку с несколькими записями? Если да, то что на клиентской стороне делать?
Сервер должен возвращать список записей с учетом офсета = номер последней показанной страницы * количество записей на странице. Потом эти данные добавлять в конец старого списка.

при реактивном хранилище это уже будет работать, а дальше украшайте

Роман
29.07.2018
16:36:00
и если кто-то придет на твой проект и увидет как ты для инфините скролла используешь пост запросы, он плюнет тебе в лицо
Есть исключения. Если есть ограничения на длину GET-запроса, то можно и POST использовать.

DimenSi
29.07.2018
16:36:33
Есть исключения. Если есть ограничения на длину GET-запроса, то можно и POST использовать.
2к символов на урл, я думаю этого должно хватить на инфините скролл

Admin
ERROR: S client not available

DimenSi
29.07.2018
16:36:57
не надо выдумать кейсы из воздуха, которые не относятся к вопросу

Роман
29.07.2018
16:37:38
Например у API ВК, при превышении 2048 советуют использовать POST. Там через запятую до 1000 ID можно передавать.

не надо выдумать кейсы из воздуха, которые не относятся к вопросу
Я про категоричное заявление о POST-запросах, меняющих/создающих записи.

Саша
29.07.2018
16:40:40
А когда я во vuex пишу this.$store.dispatch('name', value), он вызывает метод name() из actions = { name() { ... } } ?

Фёдор
29.07.2018
16:40:41
Например у API ВК, при превышении 2048 советуют использовать POST. Там через запятую до 1000 ID можно передавать.
Я как-то ковырялся в чужом магазине на битрикс, там аякс-скролл каждый раз тягал товары с учетом фильтров через гет-параметры, собирая весь список филтров в урл, который не влезал в лимиты

Саша
29.07.2018
16:42:31
Получаю unknown action type: AUTH_REQUEST

Фёдор
29.07.2018
16:43:23
this.$store.dispatch('authRequest'...

откуда AUTH_REQUEST взялся?

Саша
29.07.2018
16:45:30
Ой, это было глупо :С Спасибо!)

А как хранить конфиг приложения? Что-то типа API_URL для dev и prod

Google
Furrya
29.07.2018
17:52:00
А как хранить конфиг приложения? Что-то типа API_URL для dev и prod
API_URL лучше в .env .env .env.development .env.production https://alligator.io/vuejs/working-with-environment-variables/

Furrya
29.07.2018
18:01:50
При обращении к process.env.API_URL происходит странное о.о
Ты статью полностью прочел? Как в env объявляешь?

Саша
29.07.2018
18:02:18
Там я показал, как объявил - вроде, ничего необычного

Furrya
29.07.2018
18:07:44
Саша
29.07.2018
18:08:11
Да, именно он

Стоп, а HMR не подхватывает конфиг, я перезапустить должен run dev?

Блин)

Furrya
29.07.2018
18:09:00
да! xD

Роман
29.07.2018
18:26:30
А сокращать мы умеем?
Читай дальше. Или ты можешь написать в любой сервис и по твоему требованию поменяют API?

Like
29.07.2018
18:27:39
Читай дальше. Или ты можешь написать в любой сервис и по твоему требованию поменяют API?
А ты можешь написать в любой сервис и сказать, чтобы они из гет запроса сделали пост, а то у меня не влазит, памагите

Они диктуют правила шифровки, в чем проблема?

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