
MVP
17.01.2017
14:00:18
ппц парни

Stanislav
17.01.2017
14:03:39
а козуля так ли необходим ?

Illya
17.01.2017
14:04:27
так же как и абрамов )

Oleg
17.01.2017
14:28:10
Привет всем) А знает ли кто-то примеры больших проектов, которые юзают vue.js?

Google

Oleg
17.01.2017
14:28:19
Хочу на организацию кода поглядеть
Спасибо большое)

Rafael
17.01.2017
14:29:47

Andrey
17.01.2017
15:13:50

Rafael
17.01.2017
15:23:24
все вместе
самое лучшее по структуре папок это:
https://github.com/davezuko/react-redux-starter-kit#application-structure

Andrey
17.01.2017
16:43:24
спасибо, посмотрю

Rafael
17.01.2017
16:47:51
кто-то юзал:
https://github.com/petkaantonov/deque
?
ребзь, такой вопрос, может ли мутация что-то возвращать?
кажется это бессмыслено ибо применение мутаций идет через commit и не понятно, может ли оно что-то возвращать

Andrey
17.01.2017
17:21:21
https://github.com/vuejs/vuex/blob/dev/src/index.js#L64

Rafael
17.01.2017
17:23:44
мда, это плохо

Google

Rafael
17.01.2017
17:24:03
хотяя...

Andrey
17.01.2017
17:24:09
мне кажется что это архитектурно не верно
что бы мутация тебе что-то возвращала

Rafael
17.01.2017
17:24:31

Timur
17.01.2017
17:48:14
Так, тут кто-то просил сообщить, когда я найду способ, как подружить WebStorm + *.vue + SASS/SCSS embedded код.
Всё очень просто.
И, вроде бы, vue-for-idea поддерживает тоже. Я не проверял, но пишут что умеет.

Rafael
17.01.2017
17:49:32
уже сколько раз этот вопрос, вроде не смогли победить
обычно просто новый файл для стилей создают

MVP
17.01.2017
17:49:51

Timur
17.01.2017
17:50:08
Гм, у меня работает вполне с rel="stylesheet/scss".
https://github.com/vuejs/vue-syntax-highlight/issues/3#issuecomment-175036730
Источник информации.

Alexander
17.01.2017
18:20:38
Ребят, как корректней обрабатывать ошибки валидации во vuex + vue validator
расскажу, как это делаю я..
сразу скажу, что фронтендер, я так себе
так вот.
в компоненты, где возможны 422 респонсы, я прифигачиваю mixins
вот такого содержания
export default {
data() {
return {
getValidateErrors(responseData) {
let errors = [];
Object.keys(responseData).forEach((key) => {
errors.push({
field: key,
message: responseData[key]
})
})
return errors
}
}
}
}

Google

Alexander
17.01.2017
18:22:25
и после экшена, навешиваю ошибки, таким образом
add() {
this.saveNewsItem(this.item).then((response) => {
if (response.status == 422) {
this.$setValidationErrors(this.getValidateErrors(response.data))
}
})
}
насколько такой подход корректен?
сори за код в чате.

MVP
17.01.2017
18:23:17
парни, скажите в целом то что в angular было ng-transclude это похоже на vue.js <slot> ?

Rafael
17.01.2017
18:25:43

Alexander
17.01.2017
18:26:34
эм, спасибо, посмотрю..

Rafael
17.01.2017
18:27:53
так, а зачем ты vuex используешь тут?
ты просто указал что используешь связку

Alexander
17.01.2017
18:28:45
ну в данном случае, я навешиваю ошибки валидации наживую в компоненте, возможно стоит это делать в мутациях?

Rafael
17.01.2017
18:29:33

Alexander
17.01.2017
18:30:42
ну т.е. стоит ли создавать у каждой сущности например validation_errors массив, и в action
диспатчить мутацию и записывать ошибки валидации там
я сейчас пробрасываю респонс из action'a и навешиваю ошибки валидации внутри компонента

Rafael
17.01.2017
18:31:25

Alexander
17.01.2017
18:31:27
возможно правильней это делать на уровне мутации

Rafael
17.01.2017
18:31:39
как только валидатор говорит ок, я кладу даные в state

Alexander
17.01.2017
18:31:58

Rafael
17.01.2017
18:32:11
но сейчас пилю единый state для уведомлений

Google

Rafael
17.01.2017
18:34:16
впринципе как его напишу, могу выложить куда-нибудь

Alexander
17.01.2017
18:34:27
давай, интересно будет глянуть

Rafael
17.01.2017
18:34:35
принято

Illya
17.01.2017
18:50:46

Andrey
17.01.2017
18:54:21
как по мне
мутация на то и мутация чтобы что-то изменять

Rafael
17.01.2017
18:56:33
+ у меня мутации не содержат логики, кроме, может быть какой-нибудь проверки, что список не пуст

Admin
ERROR: S client not available

Illya
17.01.2017
18:57:12
А это уже сложный вопрос
В плане того что где хранить логику

Andrey
17.01.2017
18:57:40
да где угодно но только не в мутациях

Rafael
17.01.2017
18:57:43

Andrey
17.01.2017
18:58:00
ты не зря вызываешь ее с помощью функции commit, где название как-бы намекает

Rafael
17.01.2017
18:58:24

Illya
17.01.2017
18:58:52
Где угодно - плохой ответ
да где угодно но только не в мутациях

Andrey
17.01.2017
18:59:32
в экшонах, в методах компонента, как захочешь

Illya
17.01.2017
18:59:45
Компоненты это слой view

Google

Illya
17.01.2017
18:59:52
Не хочу логику там

Andrey
17.01.2017
19:00:02
для этого есть actions
хоти там

Illya
17.01.2017
19:01:53
Я не согласен

Andrey
17.01.2017
19:02:01
окей

Illya
17.01.2017
19:02:15
Для меня концептуальное различие мутаций и экшнов - атомарность

Andrey
17.01.2017
19:02:51
ну т.е для синхронных вещей ты логику будешь писать в мутацию, для асинхронных в экшон?

Roma
17.01.2017
19:02:56

Andrey
17.01.2017
19:04:21
ну вообще, разумно хранить логику изменения стора в сторе

Illya
17.01.2017
19:05:03
Приведу пример - у меня есть мутация "пришло событие изменения таблицы по вебсокету". В мутации я проверяю - если таблица ещё не загружена, то кеширую изменения в одном куске сторы, если загружена - в другом
Мутация "таблица загружена" смотрит кеш и накатывает еоо

Andrey
17.01.2017
19:05:57
ну блин, я то думал что ты про логику приложения говоришь

Illya
17.01.2017
19:06:13
А это и есть логика приложения

Andrey
17.01.2017
19:06:13
а это вполне себе нормальная вещь для мутации
ну окей, "логика бизнес-процессов"

Illya
17.01.2017
19:07:07
Их тоже в мутациях много где.
Причина - есть бизнес операция. Её выполнение напрямую зависит от текущего состояния системы. Соответственно хорошо бы эту операцию инкапсулировать где-то, в идеале в тестируемом месте
Мутация ложится идеально на эту концепцию
Да, по максимуму
Так ты в итоге за хранение логики в сторе?
Тестировать мутации гораздо проще чем компоненты

Andrey
17.01.2017
19:09:21
ну это не лишено смысла, да