
Valeriy
16.04.2018
19:01:17
но на vue можно обойтись и без vuex :)))
чисто ради спортивного интереса
и да, это будет больнее

Victor
16.04.2018
19:01:48


Алексей
16.04.2018
19:02:06
Привет коллеги!
Что ему надо:
[Vue warn]: Error in callback for watcher "function () { return this._data.$$state }": "Error: [vuex] Do not mutate vuex store state outside mutation handlers."
(found in <Root>)
Вот такой шаблон:
<b-table
striped responsive hover
:items="items" :fields="get_custom_fields"
:filter="filter" class="table-responsive"
id="catalog-table" empty-text="По данному запросу результатов не найдено"
ref="CatalogTable" @row-clicked="RowClicked"
top-row="true">
<template slot="order" slot-scope="data">
<input
type="number" size="sm"
class="form-control form-control-sm"
min="0" :max="data.item.count_on_stockpile"
v-focus="data.index === focused"
v-model="data.item.order"
@focus="RowClicked(data.item, data.index)"
@input="OnInput(data.item)"
@blur="OnBlur"
@keydown.down.prevent="moveDown"
@keydown.up.prevent="moveUp"
><!— </b-form-input> —>
</template>
<template slot="name" slot-scope="data">
<a href="#" @click="ToogleFavorite(data.item)"><i :class="[ data.item.favorite ? 'fa-star' : 'fa-star-o' , 'fa']"></i></a> <a href="#" @click="modalShow(data.item)">{{ data.item.name }}</a>
</template>
</b-table>
Если передаю непосредственно fields из getter'a, то ошибки нет, если get_custom_fields, вываливается ошибка
хотя я уже создал клон объекта из state, вообще не меняю оригинал:
get_custom_fields: function() {
function CloneField(field) {
this.key = field.key
this.label = field.label
this.sortable = field.sortable
}
if (this.user && this.user.show_available) {
console.log('show_available')
var new_fields = []
for (var i = 0; i < this.fields.length; i++) {
new_fields.push(new CloneField(this.fields[i]))
}
return new_fields
}else{
console.log('not show_available')
// Если пользователю не положено показывать количество позиций на складе, скрываем их столбец
var new_fields = []//Object.create(this.fields)
for (var i = 0; i < this.fields.length; i++) {
if (this.fields[i].key !== 'count_on_stockpile'){
new_fields.push(new CloneField(this.fields[i]))
}
}
return new_fields
}
}

Google

Иван
16.04.2018
19:02:21
Do not mutate vuex store state outside mutation handlers."
Не мутируй стейт напрямую, сука, не мутируй стейт напрямую

Valeriy
16.04.2018
19:02:36
парни ну вот серьезно, когда вы юзаете react/vue ну блин
тут без redux/vuex будет не порно, но задорно

Иван
16.04.2018
19:02:45
И погладь кота, сука, погладь кота

Алексей
16.04.2018
19:02:51

Николай
16.04.2018
19:04:02
Внезапно ворвусь в беседу, обьясните, плиз, бэкэндеру, чо можно (уместно) во вьюиксе держать, а что нет ибо весь этот пипелац напоминает костыль

Иван
16.04.2018
19:04:15
XD

Serge
16.04.2018
19:04:25

Victor
16.04.2018
19:04:37

Иван
16.04.2018
19:05:01
Можно даже вьюкс-орм прикрутить

Victor
16.04.2018
19:05:12

Google

Юрий
16.04.2018
19:05:13

Николай
16.04.2018
19:05:36

Иван
16.04.2018
19:05:44
Да не очень
Зависит от типа приложения

Victor
16.04.2018
19:05:58

Николай
16.04.2018
19:06:04

Иван
16.04.2018
19:06:10
Если это полноценное приложение, один хрен придется ручками доставать связанные сущности
Фильтровать их как-то

Valeriy
16.04.2018
19:06:31

Victor
16.04.2018
19:06:47

Иван
16.04.2018
19:06:48
Можно на каждую такую штуку кастомный геттер писать, а можно дженерик решение

Юрий
16.04.2018
19:06:51

Serge
16.04.2018
19:07:16
Если данные общие то вьюкс. Если это шляпа нужная только "вот тута", то не вьюкс)

Николай
16.04.2018
19:07:19

Иван
16.04.2018
19:07:57
Ну вот все общее между компонентами во вьюкс

Valeriy
16.04.2018
19:08:23
это те моменты которые не должны храниться в глобальном сторадже

Николай
16.04.2018
19:08:43

Valeriy
16.04.2018
19:08:50
это то что должно вычисляться или быть заданным внутри

Google

Юрий
16.04.2018
19:09:08
Ну юзер и у меня во вьюиксе, на всех проектах

Valeriy
16.04.2018
19:09:10
поэтому для таких целей нужны data/computed

Serge
16.04.2018
19:09:12

Николай
16.04.2018
19:09:56
Спасибо, а то вот не ложилось как то, мне еще кто то стор советовал)))))

Алексей
16.04.2018
19:09:58

Kelin
16.04.2018
19:10:39
Здравствуйте а подскажите пожалуйста а для чего нужен vuex

Олег
16.04.2018
19:11:20
сука?

Kolya
16.04.2018
19:11:23

Николай
16.04.2018
19:11:29

Valeriy
16.04.2018
19:12:02
3000

Serge
16.04.2018
19:12:14

Алексей
16.04.2018
19:12:26

Kelin
16.04.2018
19:12:42

Алексей
16.04.2018
19:12:52

Serge
16.04.2018
19:12:57

Kelin
16.04.2018
19:13:04
точно?

Kolya
16.04.2018
19:13:08

Serge
16.04.2018
19:13:10
А ваще толсто конечно )

Юрий
16.04.2018
19:16:19
А вообще faq прикрепленный не помешал бы

Google

Arsen
16.04.2018
19:16:50
@kelin2025 вы наш 3000-й участник, выбирайте приз

Kelin
16.04.2018
19:17:18
я выбираю шину

Arsen
16.04.2018
19:17:26
@yarossl ну ты не вовремя(

Kelin
16.04.2018
19:17:40
я знаю в машинах есть шины
это как то связано?

Victor
16.04.2018
19:18:00
window.$__bus__$ = new Vue() — наше все

Admin
ERROR: S client not available

Николай
16.04.2018
19:18:01

Алексей
16.04.2018
19:18:21

Victor
16.04.2018
19:18:28
и выходит реально удобное реактивное хранилище, а не этот ваш вуекс

Yaroslav
16.04.2018
19:18:51
Добрый вечор. Посоны, что посоветуете аксиос или вью ресурс?

Николай
16.04.2018
19:19:00

Serge
16.04.2018
19:19:08

Yaroslav
16.04.2018
19:19:23
Но он же для редакса

Victor
16.04.2018
19:19:27

Serge
16.04.2018
19:19:48

Николай
16.04.2018
19:20:55

Леха
16.04.2018
19:22:23

Victor
16.04.2018
19:22:23
сделали чтоб те кто выносит все подряд в вуех не запутались в этой горе кода
а если ты рреально выносишь туда только глобальное состояние, то ты и не заблидишься в трех соснах

Google

Алексей
16.04.2018
19:22:24

Valeriy
16.04.2018
19:22:26
почему всем нубам хочется мутировать стейт простым движением руки?
все мутации должны происходить осознанно, болезненно :)))

Victor
16.04.2018
19:23:05

Леха
16.04.2018
19:23:40

Victor
16.04.2018
19:23:59
и в чем тогда выгода перед new Vue? лишний вес приложения?

Алексей
16.04.2018
19:24:33

Victor
16.04.2018
19:25:28
большое приложение это типизация же, а я слышал у вьюкс с этим все плохо

RNR ?
16.04.2018
19:25:50
Тем, что когда стейт изменяется только через мутации, ты можешь проконтроллировать всю историю его состояния и видеть, что и и как изменялось. А также исключить цепную реакцию изменений, когда непонятно что и непонятно где вызвало изменение состояния

Алексей
16.04.2018
19:26:15

RNR ?
16.04.2018
19:26:29

Николай
16.04.2018
19:26:45

Roman
16.04.2018
19:26:52
когда размечено JSDoc
то нормально, да?
редактор подсказывает необходимый тип

Vlad
16.04.2018
19:27:20
Я думал victor хорошо троллит

Алексей
16.04.2018
19:27:57