
DimenSi
12.09.2017
23:08:12
я не понял твой кейс просто

Artur
12.09.2017
23:09:13
вообще-то это коллизия - изменения на сервере и изменения на клиенте - оптимистичная конкуренция - но это плохо

Victor
12.09.2017
23:09:40
Я описал видимо не совсем корректно.
Меня на самом деле ситуация с запросом в каждые 5 секунд устраивает. Больше всего волнует, как не эмиттить @change ивент инпута при изменении значения его v-model программно.
Вот.

Google

Artur
12.09.2017
23:10:17
ааа ну... отключи

Victor
12.09.2017
23:10:40

Artur
12.09.2017
23:11:00
@change ивент инпута при изменении значения его v-model

Victor
12.09.2017
23:11:35
Как его отключить для изменения программно, но оставить для изменений от пользователя?

Artur
12.09.2017
23:12:58
добавь флаг changed если пользователь сменил его и если сменил - все, логика меняется
поле поменят типа
то есть придется хранить старое значение либо флаг изменения

Victor
12.09.2017
23:13:59
Ага, спасибо, я понял.
Думал, что есть какой-то способ биндинга для такого.

DimenSi
12.09.2017
23:17:07

Victor
12.09.2017
23:27:47
То что нужно!!!

DimenSi
12.09.2017
23:30:47
только с импута убери v-model и переделай на :value и @change

Максим
13.09.2017
04:00:51
Админ!!!

Google

Stanislav
13.09.2017
04:08:34
Всем привет, рыбята
https://jsfiddle.net/vwze2upk/
Вот кусок кода. По клику должно тоглиться состояние isActive, однако этого происходит
В чем проблема?

Ivan Li
13.09.2017
05:26:02
может так state.isActive = !state.isActive

Stanislav
13.09.2017
05:31:05

Dave
13.09.2017
05:32:21
Помню спор был между apipie и apicase
к чему пришли то?

Stanislav
13.09.2017
05:34:19

Dave
13.09.2017
05:35:11
а есть примеры?
либы хорошие но у меня сомнения

Stanislav
13.09.2017
06:14:33
Ага, и у меня

Rafael
13.09.2017
06:17:42

Stanislav
13.09.2017
06:26:50
Примеры чего? Как класс на JS написать? :)

Rafael
13.09.2017
06:28:47
Интересна реализация

Stanislav
13.09.2017
06:30:40
Класс http со статик методами, классы на отдельные виды данных/эндпоинты.

Victor
13.09.2017
06:31:36

Rafael
13.09.2017
06:35:26
Типо есть запросы к /foo, и к /foo/bar, и apipie сохраняет эту вложенность
.foo(), .foo.bar()

Google

Ilshat
13.09.2017
06:45:02
Привет ребят, сегодня начал изучать vue. Столкнулся с тем, что не понял. Как обновлять данные в локальном компоненте? data там функцией . Надеюсь понятно выразился. Пробовал Child.$data.param , но не прокатило

Alex
13.09.2017
06:45:22
пока непонятно
как обновлять данные которые передаются во вложенный компонент?

Ilshat
13.09.2017
06:48:34
есть рутовый компонент. в свойсвах я добавил
components: {
'static-ip-modal-body': ModalBody,
а у модалБади выглядит так
var ModalBody = {
template: '#static-ip-modal-body',
components: {
'cost': CostBlock
},
data: function () {
return {
logins: []
}
}
};
хочу logins изменить

Andrey
13.09.2017
06:50:16
про props почитай

Ilshat
13.09.2017
06:50:41
а напрямую никак?
получается мне надо держать логины в рутовом компоненты и передавать от него в дочерных через пропс?

Andrey
13.09.2017
06:57:05
тут смотря что ты будешь хранить в logins. Если они часто будут использоваться можешь создать еще один экземпляр let Bus = new Vue() и там хранить.
или можешь использовать vuex (смотря насколько большое приложение у тебя будет )

Mathew
13.09.2017
07:01:01
Please, help me to охладить трахание
Правильно ли я axios-ом делаю post request?

Виталий
13.09.2017
07:03:39

Mathew
13.09.2017
07:04:45
в доках они вот это пишут
вот так?


Виталий
13.09.2017
07:08:01
есть класс для api, хочу сделать индикатор загрузки.
соотвественно нужно записать в глобальный стейт isLoading.
как и куда из axios записать стейт о состоянии запроса?
import axios from "axios";
export const http = axios.create({
headers: {
"X-CSRF-TOKEN": window.app.csrf,
"X-Requested-With": "XMLHttpRequest"
}
});
http.interceptors.request.use(function(request) {
return request;
});
http.interceptors.response.use(function(response) {
return response;
}, function(error) {
return error;
});
const api = {
get: function(url, data = null, option) {
let request = option || {};
request.params = data;
return http.get(url, request).then(function(response) {
return Promise.resolve(response.data, response.request, response.status, response.config);
}).catch(function(error) {
return Promise.reject(error.response.data, error.response.request, error.response.status, error.response.config);
});
},
post: function(url, data, option) {
return http.post(url, data = null, option).then(function(response) {
return Promise.resolve(response.data, response.request, response.status, response.config);
}).catch(function(error) {
return Promise.reject(error.response.data, error.response.request, error.response.status, error.response.config);
});
},
...
};
export default api;


Stanislav
13.09.2017
07:15:23
есть класс для api, хочу сделать индикатор загрузки.
соотвественно нужно записать в глобальный стейт isLoading.
как и куда из axios записать стейт о состоянии запроса?
import axios from "axios";
export const http = axios.create({
headers: {
"X-CSRF-TOKEN": window.app.csrf,
"X-Requested-With": "XMLHttpRequest"
}
});
http.interceptors.request.use(function(request) {
return request;
});
http.interceptors.response.use(function(response) {
return response;
}, function(error) {
return error;
});
const api = {
get: function(url, data = null, option) {
let request = option || {};
request.params = data;
return http.get(url, request).then(function(response) {
return Promise.resolve(response.data, response.request, response.status, response.config);
}).catch(function(error) {
return Promise.reject(error.response.data, error.response.request, error.response.status, error.response.config);
});
},
post: function(url, data, option) {
return http.post(url, data = null, option).then(function(response) {
return Promise.resolve(response.data, response.request, response.status, response.config);
}).catch(function(error) {
return Promise.reject(error.response.data, error.response.request, error.response.status, error.response.config);
});
},
...
};
export default api;
Обязательно из axios? Я б делал в компонентах, там где Vuex есть


Виталий
13.09.2017
07:17:26
Vuex не использую. первое это хотелось бы сделать глобальное состояние по запросу и при необходимости чтобы компоненты смотрели в глобальные инстанс вью. в каждом компоненте настроивать состояния загрузки не очень бы хотелось

Google

Вишневый чай
13.09.2017
07:19:39

Виталий
13.09.2017
07:21:37
самое топорное решение которое приходит, это
http.interceptors.request.use(function(request) {
$(".loader").show();
return request;
});
http.interceptors.response.use(function(response) {
$(".loader").hide();
return response;
}, function(error) {
$(".loader").hide();
return error;
});
но мне нужно именое состояние. и один из методов использования это скрывать/показывать лоадер + чтобы компоненты его использовали

Yaroslav
13.09.2017
07:23:08
Прикольно Илья мульку зкинул, он когда говорил о вуекс имел ввиду атомарность всех компонент, а вместо этого люди велосипеды строят, отично.. чо)

Виталий
13.09.2017
07:24:32
если с помощью Vuex, то класс api всеравно будет такой же, и вопрос тот же. как из интерсептора глобально передать состояние и куда его записать?

Вишневый чай
13.09.2017
07:28:22
Напрямую с домом работать из апи это вообще бредовая идея

DimenSi
13.09.2017
07:40:35
Господа, посоветуйте инструменты для e2e. Запарился уже. На проекте время от времени без причин всплывают баги в одних и тех же местах.

Alex
13.09.2017
07:41:55
nightwatch + headless chrome

DimenSi
13.09.2017
07:42:26
О, его уже можно активно юзать?
Хром

Alex
13.09.2017
07:43:12
вполне можно

Вишневый чай
13.09.2017
07:43:39

Alex
13.09.2017
07:44:05
да, так и есть. он сразу ставится и настраивается сам
но только с фантомом ) , что можно и самому поправить

Yaroslav
13.09.2017
07:45:09
Мозилка тоже без головы есть, если чо

DimenSi
13.09.2017
07:45:14
Ну, проект без этого создавался.
У меня есть модалка профиля и часто какого хрена одно из полей перестает редактировать профиль, правильно ли для этого юзать е2е?
Unit тесты не зайдут вроде для такого, так?

Вишневый чай
13.09.2017
08:01:12
что значит одно из полей перестает редактировать ?)
вы говорите слишком обстрактно, причина может быть в чем угодно

Google

DimenSi
13.09.2017
08:06:05
Есть поле редактирования даты. И какого то хрена время от времени, человек редактирует в нем дату, нажимает сохранить и оно нихрена не меняется.
Не сохраняет *

Вишневый чай
13.09.2017
08:07:18
нужно инвестигейтить, что вводят. что отправляется на сервер, что падает в бд
e2e покроет только первый пункт
тесты они вообще не для нахождения причины уже существующего бага, а для оповещения о появлении новых

DimenSi
13.09.2017
08:21:40

Stanislav
13.09.2017
08:22:13
Vue.js 2.4.3 was released!
Changelog: https://github.com/vuejs/vue/releases/tag/v2.4.3

chep
13.09.2017
08:27:21
https://github.com/SortableJS/Vue.Draggable
кто=то юзал? есть что-то лучше?

Stanislav
13.09.2017
08:29:46