Рэмуальд
напиши по другому лучше эту байду ) разбей на несколько компутедов
Alexey
как по мне, то эта возможность повесить set/get на computed и сразу комитить в стору какой-то антипатерн
пожалуй соглашусь. Остаётся вотчер на компьютед. Как-то это по мне тоже не фонтан.
🐏 Alexander
+1 выглядит слабопонятна вся эта конкструкция
да оно может и понятно ситаксически, но в итоге в приложении очень-очень много мест, где происходит изменения сторы, сложно дебажить
Денис
В доке четко наимсано как юзать стейт и инпут
Demetrio
Alexey
Попробуйте мутацию замапить через mapMutations. Но и так должно работать.
так, с вотчером, работает) Выкинул сеттер, всё работает. Но чувствую непонимание почему же сеттер не закоммитил. Пусть даже это антипаттерн и не надо так делать.
Alexey
ппц, я сделал по доке, сам того не зная. Осталось понять в чём косяк
Рэмуальд
Если решили использовать flux архитектуру то мб стоит следовать ей?
это ты к чему? Вроде разговор про мутации напрямую из компонент
ℝei
это ты к чему? Вроде разговор про мутации напрямую из компонент
К тому что это нормально и это описано в доке
🐏 Alexander
мутировать из компонента - это зашквар
Рэмуальд
К тому что это нормально и это описано в доке
в доке описано, что так можно делать, не значит что нужно
Stanislav
Забавно наблюдать, как один маленький вопрос по Vuex вызывает столько споров. Что лишний раз доказывает, что его надо юзать в последнюю очередь
Alexey
Забавно наблюдать, как один маленький вопрос по Vuex вызывает столько споров. Что лишний раз доказывает, что его надо юзать в последнюю очередь
мой вопрос просто сведён к минимуму, на самом деле там несколько вложенных компонент, несколько действий (то есть пробрасывать кучу ивентов наверх уже накладно, родительская компонента уже была бы простынёй), да и объект большой
Alexey
@Fl0pZz
Alexey
Почему вычисляемый сеттер может не работать? Код: computed: { data: { get: function () { return Object.keys(this.$store.getters.getRecipe).length > 0 ? this.$store.getters.getRecipe : null }, set: function (value) { this.$store.commit('setRecipe', value) } } }, вотчер спасает watch: { data: { handler: function () { this.$store.commit('setRecipe', this.data) }, deep: true } }, Но ведь должно было работать без него
Alexey
Покажи как ты присваиваешь
<edit-or-create v-if="data" v-model.sync="data" @refresh="getItem()"></edit-or-create>
Николаич
Дип... а в дата что?
ℝei
в доке описано, что так можно делать, не значит что нужно
И потом выходит стандартная ситуация. Каждый делает как считает нужным и приходится разбиратся, тратить время. А писать сразу по одному стандарту никто не хочет
Alexey
Чёт название странное у компонента.
да пофиг) с этим всё нормально точно
Alexey
какой?
Alexey
Чувствую щас начнётся) Но в доке про него написано
Rafael 🌵
Demetrio
https://ru.vuejs.org/v2/guide/components.html#%D0%9C%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-sync
Demetrio
вы че издеваетесь?
Demetrio
.sync это не input, а update
Rafael 🌵
вы че издеваетесь?
Лол, модификатор .sync это до пропсов
Demetrio
аэээ
Stanislav
Эх
Demetrio
🤔
Alexey
ват
Rafael 🌵
Т.е нужно использовать не v-model, а value.sync=data
Demetrio
есть эмодзи "посыпаю голову пеплом"?
Денис
Ахахахахаххаах
Stanislav
v-model, так то, это вообще директива
Rafael 🌵
Т.е нужно использовать не v-model, а value.sync=data
Но это будет ломать датабиндинг для инпутов и чекбоксов
Alex
понедельник смотрю у всех тяжело начинается :D
Alex
v-model, так то, это вообще директива
Коронную фразу в студииииию!
🐏 Alexander
Evgheni
Но это будет ломать датабиндинг для инпутов и чекбоксов
подожи, что value.sync что v-model это один и тот же сахар
Oleksandr
Ребят, кто знает, как работает Vue.config.errorHandler ? В функции я делаю throw new Error (“MY ERROR”) и ошибка просто выводится на консоль не через мой хэндлер. Функция которая генерирует обьявлена как async.
Demetrio
v-model в value пропс пробрасывает, а ожидает input
Rafael 🌵
.sync это листенер для update:smth, а v-model - это листенер для input или change
Alex
v-model в value пропс пробрасывает, а ожидает input
Если не переопределять внутри компонента)
Rafael 🌵
В зависимости от того, применяется ли он для чекбокса или инпута
Stanislav
Коронную фразу в студииииию!
Нужны стикеры) 1. v-model - это сахар 2. Используй Vuex
Alex
у меня пока только такие есть
Alex
Alexey
.sync это листенер для update:smth, а v-model - это листенер для input или change
как это влияет на мою ситуацию? Компутед же меняется всё равно в итоге?
Rafael 🌵
как это влияет на мою ситуацию? Компутед же меняется всё равно в итоге?
Setter не должен вызываться, потому что не вызывается листенер
Alex
Нужны стикеры) 1. v-model - это сахар 2. Используй Vuex
нужно добавить еще 3. Не используй Vuex 4. Где твой контекст
Rafael 🌵
Хотя даже не поленюсь и проверю
Alexey
Setter не должен вызываться, потому что не вызывается листенер
так-так, я близок к просветлению. Про листенер не вдуплил
Stanislav
нужно добавить еще 3. Не используй Vuex 4. Где твой контекст
3 подразумевает 2 :) Нужно как-то более иронично обыграть) 4. Сказка про потерянный this - это топ, да
Rafael 🌵
по дефолту v-model на инпут, а с .lazy на change
ну лол, перечитай что я там написал
Stanislav
Ну вот, теперь оказывается, что v-model не просто сахар!
Rafael 🌵
то что change для checkbox по дефолту, а для инпута - инпут
Stanislav
Соль?
Соль
ℝei
Боль..)
Alexey
Забавно наблюдать, как один маленький вопрос по Vuex вызывает столько споров. Что лишний раз доказывает, что его надо юзать в последнюю очередь
бл, пожалуй вся эта возня и правда могла и не быть. Сейчас у меня итак весь здоровый объект эммитится к родителю без проблем. Единственное, что напрягает, это куча методов в компоненте, которые можно вынести в мутации. А так, получается без vuex тут можно обойтись