Armen
Ну если ты сделаешь так даже на jQuery то оно не будет применяться к новодобавленным
Armen
Надо всё-равно ставить слушателя на общего для всех родителя и потом по таргету выбирать
Armen
Ну а под капотом on с таргетом так и работает
Armen
Проблема ещё в том, что если ты уберёшь класс по клику - во время ре-рендеринга класс может вернуться обратно
Armen
(но это не точно)
Armen
В любом случае лучше не взаимодействовать с DOM напрямую
Anton
а вообще, абстрагируясь от моего примера, повесить обработчик на все элементы с определенным классом без декларатива нельзя?
Armen
Не думаю. Поправьте, если не прав
Vladimir
Видно, что мужик недавно с jquery слез)
Anton
да, слажу..
Vladimir
мыслишь как типичный jqwerty developer)
Vladimir
Но ничего страшного)
Armen
Мне по началу тоже казалось дико, но потом понял что жиквери кокушка)
Anton
кстати, я с телефона... сколько весит минифицированный вуй?)
Armen
Хз, щас чекну
Armen
Armen
30.67KB
Anton
уу, а джиквери явно поболее
Edgar
Ребят, только только познающим весь js и vue, можно здесь задавать вопросы, если что?)
Armen
Ладн, не боись, не кусаюсь)
Edgar
Отлично, я знаю кому буду писать в личку 24/7
Anton
Фамилия у тебя, Арсен, роботящаяя))
Edgar
Со своими глупыми вопросами_
Anton
Стаханов
Armen
Ууу, не знал)
johan_krs
Может быть знает кто-нить, есть ли на vue либа для подобного пререндинга ? https://deep.fish/spot/632 Пользователь открывает страницу и пока загружается js/css отображаются пустые блоки по форме совпадающие с будущим контентом
Anton
https://dic.academic.ru/dic.nsf/ushakov/1042074
johan_krs
я типа понимаю что это можно сделать используя v-cloak, но может есть решение уже готовое
Armen
@johan_krs https://vuejs.org/v2/guide/components.html#Advanced-Async-Components
Igor
Подскажите! Что то я не вьехал Есть дочерний компонент, внутри него есть объект типа config -> где лежат штук 50 свойств, при изменение любого элемента этого объекта нужно передавать данные в родителя
Armen
Но если дело до такого доходит походу вам нужен vuex)
Igor
так вот как я понял сделать это можно через вычисляемое свойство или watch ? только не понял как следить только за частью моего стора а не за всем
Igor
computed: { store: { get: function () { return JSON.stringify(this.$data) }, }, }, у но потом я элемент с v-model="store" вынес в родителя
Armen
Тогда почему он должен быть в ребёнке?
Armen
Вынеси его в родителя, а в ребёнка передавай через пропс если надо иметь к нему доступ оттуда
Igor
метод то я выпилю, мне не понятно как запилить вотчер который будет следить за моим сторов в чилдрене
Stanislav
а вообще, абстрагируясь от моего примера, повесить обработчик на все элементы с определенным классом без декларатива нельзя?
Тут другая парадигма. Все, что отрисовывается - есть прямая зависимость от данных (состояния приложения)
Igor
то есть у меня есть некоторый компонет, внутри которого меняется стей, непонятно как отследить что стейт был изменени, или часть стейта была изменениа
Stanislav
Запили вотчер и шли событие с изменёнными данными
Не, зачем ватчер. Он же где-то меняет состояние. Вот где меняет, там пускай и эмитит
Igor
у меня поле type="hidden"
Igor
Не, зачем ватчер. Он же где-то меняет состояние. Вот где меняет, там пускай и эмитит
ну у меня же таких штук 40 мест, не в каждлое же сувать отсылку данных ,
Stanislav
ну у меня же таких штук 40 мест, не в каждлое же сувать отсылку данных ,
И везде все по разному? Нельзя что-то вынести/объединить?
Armen
ну у меня же таких штук 40 мест, не в каждлое же сувать отсылку данных ,
Я думаю, что если такое происходит - вам надо пересмотреть логику приложения или хотябы этих компонентов
Armen
Это не должно быть так
Igor
полей очень много, и хотелось бы после изменения каждого сейвить изменения в переменную, я просто думал что решенеие есть
Igor
угу работает
Armen
Если да то прям отсюда можешь вызывать this.$emit('stateChanged', JSON.encode(this.$data));
Armen
Пахнет костылём конечно
Armen
Попробуй ещё, может можно повешать watch на $data
Stanislav
На this тогда уж
Sunlive
ы
Armen
у?
Igor
ну, не совсем так, я же v-model=""store" в чилдрене выпилил
Igor
так что оно не вызовется
Armen
Почемуйто
Igor
ну так я же его нигде не использую
Armen
Можешь запилить небольшую копию своей дичи в jsFiddle или codepen?
Igor
да не проблема, щас еще сам поковыряю
Armen
ok
ℝei
а вообще, абстрагируясь от моего примера, повесить обработчик на все элементы с определенным классом без декларатива нельзя?
выводишь список через v-for и на вложенные элементы вешаешь какой-то обработчик. и при добавлении\удалении обработчик так и будет на этих элементах. туду апп посмотри. там это есть все
Armen
ну так я же его нигде не использую
$data вотчить нельзя, но можно запилить такой костыль:
ℝei
без макияжа не узнать тебя
Анеме захватило глаз
Armen
computed: { store() { return JSON.stringify(this.$data); } }, watch: { store(val) { this.$emit('stateChanged', val); } }
Ruslan
привет всем! нужно переделать админку, за основу думаем взять vuetify element bootstrap-vue Можете подсказать, где меньше проблем, с чем приятней работать? Или вообще нафиг и писать самому все компоненты?
element наиболее mature, похож визуально на iOS, работает только на Десктопе. Мне было комфортно юзать. Vuetify на material, адаптируется под Mobile. Товарищ очень доволен. Bootstrap-vue не трогал, отзывов не слышал, но наверное как и остальной bootstrap, по которому отзывов полно.
Sunlive
Анеме захватило глаз
верни глаз, он вотчит this
Sunlive
что б контекст не потерять
ℝei
что б контекст не потерять
Ну, у меня с этим проблем нет 😆
Sunlive