Bogdan
Всем привет.
Есть вопрос. Мне нужно в приложение на Vue.js впилить Flow.js (не типизацию, а аплоадер, они просто одинаково называются). Как лучше всего это сделать по архитектуре? плагином? пихать во vuex? директивами?
https://github.com/flowjs/flow.js
Oleksandr
Родион
подскажите как в компоненте отследить что поменялась переменнай из vuex
мне надо проследить за ней именно в js части а не в шаблоне (там понятно что через getter например)
Tom
Я не уверен, но полагаю что можно сделать watch на this.$store.state
Tom
Ребята подскажут еще мб что-то
Родион
ага, я подругому пробовал. спасибо, сейчас проверю
Tom
Давай
Родион
watch: {
'this.$store.state.stage': function (val) {
console.log(val)
}
},
не срабатывает что-то
Tom
попробуй без this
Родион
вообще идеально было бы вообще на геттер повесить ватчер )
ща
Родион
только при первом изменении срабатывает
Родион
хмм
Bogdan
сначала создаешь computed property со ссылкой на свойство из vuex state
дальше вешаешь watch на это computed proprty
Bogdan
все
Stanislav
или делаешь сразу нормально, как UI = f(state)
Tom
Astr0junk
В шаблоне ставишь в директиву то самое компьютед проперти
Astr0junk
Ну и стейт меняется и ui тоже
Astr0junk
Не факт что должно менять юай. С другой стороны, а зачем ещё то это использовать.
Astr0junk
Разве что вычислить другое значение какое-то
Oleksandr
Сообщество, как считаете, какие плюсы и минусы вью роутера для большого проекта ?
Родион
вобщем я в геттер вынес логику из компоненты и использую напрямую в шаблоне в условии
Родион
так работает без проблем
Родион
просто получается что у меня кука ставится в компоненте а вот проверяется в геттере vuex в другом файле совершенно
Родион
как то оно не по фэншуй
Родион
компонента отображается в зависимости от переменной stage из vuex
отображается при двух значениях stage
в нутри компоненты функционал subscribe
после удачной подписки на рассылку я ставлю куку в клиент и показываю сообщение текстовое вместо формы
так вот при изменении stage надо опять показать форму т.к. там другая кука для скрытия формы
Родион
если кто понял объяснение )) как в таких случаях правильно делать?
Oleksandr
Stanislav
Родион
роутер тут не причём
stage меняется в зависимости от времени
т.е. сначала у нас подписка на одно событие, потом на другое
и куки разные
Oleksandr
Oleksandr
Есть альтернатива?
Да, у меня страница представляет собой шаблон для Вью приложения
Oleksandr
Которое инициализируется
Oleksandr
Но сейчас думаю, что лучше Вью роутером сделать, чтобы не грузить по 100 раз один макет
Oleksandr
Макет компонента
Michael
Michael
обход*
Michael
чанками
Родион
о! наверно вот так более правильно будет:
// если требуется доступ и к локальному состоянию, нужно использовать традиционную функцию
countPlusLocalState (state) {
return state.count + this.localCount
}
Родион
не через геттер а через состояние + вызвать там метод в локальном контексте
Родион
пробую )
Илья
привет! а кто-нибудь ковырялся с contenteditable? я вот накидал небольшой пример: https://codepen.io/dubrowsky/pen/KyRMWK
может кому интересно +)
там два компонента, сначала инпуты с v-model - это типа чо должно получиться, потом - наивная реализация того же самого на contenteditable + тупой лог изменений.
вот реализация на contenteditable работает очень странно, ну и я только наполовину понимаю, почему так.
Родион
computed: {
...mapState({
isSubscribed (state) {
return Cookies.get(state.all[state.stage].cookie) != null
}
}),
...mapState(['stage'])
},
воркед
если кому понадобиться
Родион
в шаблоне юзаю <template v-if="isSubscribed">
ну и логика с куками вся в компоненте остаётся
Bogdan
Ок, еще раз попробую.
Есть вопрос. Мне нужно в приложение на Vue.js впилить Flow.js (не типизацию, а аплоадер, они просто одинаково называются). Как лучше всего это сделать по архитектуре? плагином? пихать во vuex? директивами?
https://github.com/flowjs/flow.js
Родион
хмм, а собственно что это? загрузка файла с клиента на сервер?
если так то я бы прикрутил эту либу в той компоненте где у меня форма загрузки файлов.
или я чего не понял?
Michael
Илья
тут вроде бы надо добиться, чтобы узел с contenteditable при фокусе перестал обновляться при ре-рендере
Michael
Michael
можно подтянуть как зависимость. и ещё есть темки схожие
Илья
имхо возня с курсором -путь в никуда )
Илья
ну точнее этим должен заниматься кто-то уровнем ниже
Илья
а от вью надо добиться, чтобы он просто не трогал этот узел
Michael
Илья
ну да, я в этом смысле )
Michael
а вообще можно компоненту сделать которая после рендера ставит курсор туда, откуда он ушёл
Michael
ну там чтобы скобочки на смайлики менять
Michael
это толкьо переренером
Илья
я делал риалтаймовый типограф. я ебнулся если честно )
Michael
ну там непросто, да)
Oleksandr
Michael
Michael
а тут плюсы минусы
Alex
Oleksandr
а тут плюсы минусы
А как можно сделать экран загрузки ?
Я думаю сделать другой бандл, который будет встроенным в индекс, и "как-то" отображать прогресс загрузки основного бандла. Вопрос как ?)
Michael
фсинк авайт
Michael
это всё у вебпака есть
Илья
ну вот эван в каком-то из ишшьюс написал " во вью такого нет, потому что при нашей модели реактивности в этом нет нужды, считайте что мы уже реализовали этот метод за вас"
Michael
а он подходит ко всем роутерам и фреймам)
Michael
реактивность классаня.
Alex
Michael
и вотчеры
Илья
https://github.com/vuejs/vue/issues/4255#issuecomment-261778207
Astr0junk
Парни, есть вопрос по хэндлерам мыши
Astr0junk
кто как обрабатывает клик и ЛОНГ клик