@vuejs_ru

Страница 2632 из 3900
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:04:02
Внезапно ворвусь в беседу, обьясните, плиз, бэкэндеру, чо можно (уместно) во вьюиксе держать, а что нет ибо весь этот пипелац напоминает костыль

Иван
16.04.2018
19:04:15
XD

Serge
16.04.2018
19:04:25
Victor
16.04.2018
19:04:37
парни ну вот серьезно, когда вы юзаете react/vue ну блин тут без redux/vuex будет не порно, но задорно
только для мелких проектов с низкой связанностью когда Vue нужен чтобы клик обработать на кнопке

Иван
16.04.2018
19:05:01
Внезапно ворвусь в беседу, обьясните, плиз, бэкэндеру, чо можно (уместно) во вьюиксе держать, а что нет ибо весь этот пипелац напоминает костыль
Если с бэка прилетает много всякой повязанной реляцияонной паутиной хрени - её лучше всю сразу во вьюксе держать

Можно даже вьюкс-орм прикрутить

Google
Юрий
16.04.2018
19:05:13
Николай
16.04.2018
19:05:36
Можно даже вьюкс-орм прикрутить
Вот по мне, это уже перебор

Иван
16.04.2018
19:05:44
Да не очень

Зависит от типа приложения

Николай
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

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

Алексей
16.04.2018
19:09:58
Вот например юзер, я его во вьюикс тусанул ибо на всех компонентах он нужон, а чую что как то не складно это
vuex - это модели, компоненты - это представления если говорить в терминах MVC, MVT

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

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

Николай
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
Здравствуйте а подскажите пожалуйста а для чего нужен vuex
для организации шины между компонентами и организации flux-подобной архитектуры приложения

Kelin
16.04.2018
19:12:42
Шоб токен и юзверя хранить там
а корзину хранить пойдет?

Алексей
16.04.2018
19:12:52
Kelin
16.04.2018
19:13:04
точно?

Kolya
16.04.2018
19:13:08
Здравствуйте а подскажите пожалуйста а для чего нужен vuex
потерял чатик vue pro, забанил Паша дуров акк, поделись ссылкой, можно в личку

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
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
можно мутировать напрямую и не парить голову экшенами, мутациями и пр
Мутацию сделали не для того чтоб Вам насолить, это глобальное состояние, гетеры и сетеры, спецы поправят, если не прав

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

Google
Алексей
16.04.2018
19:22:24
можно мутировать напрямую и не парить голову экшенами, мутациями и пр
зависит от размера проекта, если до 30 компонентов, и не будет расширяться, вполне можно обойтись примитивной шиной window.$__bus__$ = new Vue() без vuex, если проект большой то flux архитектура жизненно важна

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

все мутации должны происходить осознанно, болезненно :)))

Victor
16.04.2018
19:23:05
Ну и в vuex не запрещает никто
эм? будет сообщение в консоли типа ду нот мутейт стейт напрямую, юз мутатионс

Леха
16.04.2018
19:23:40
Алексей
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 хорошо троллит

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