Stas
недавно начал знакомство с vue js, может select сделать компонентом и там модель использовать
Аліса 🏳‍🌈 Байрактарқызы
localStorage
Stas
localStorage
зачем?
Аліса 🏳‍🌈 Байрактарқызы
А, неправильно прочитал
Stas
А, неправильно прочитал
думал, может как компонент с моделью отделить select
Stas
чтобы модель была привязана к этому выпадающему списку
Alex I.
Друзья, подскажите пожалуйста, вот есть такой компонент яндекс карты https://github.com/PNKBizz/vue-yandex-map , как можно при изменении данных добавлять новые маркеры на карту?
Alex I.
https://github.com/PNKBizz/vue-yandex-map/issues/31
Спасибо, туда я что то не посмотрел сразу) попробую
MXLTN
друзья. а как нстроить роутинг в vue?
MXLTN
самы базовый
Vladislav
друзья. а как нстроить роутинг в vue?
https://laracasts.com/series/learn-vue-2-step-by-step/episodes/26 если с английским в +- отношениях)
Nikita
есть еще офф дока, но как я понял, это не торт, для некоторых людей
Nikita
https://router.vuejs.org/ru/essentials/getting-started.html
MXLTN
отлично как раз начал работать с vue-router
MXLTN
вопрос немного общий - в веб апе должен быть только один инстанс app ?
Nikita
у спа так принято, а так можно сколько угодно инстанцев vue делать
Nikita
в спа ты типо строишь приложение как дерево. Есть корень и от него все строится.
Nikita
но есть подход типо виджетов, когда делают какие-то мелкие компоненты vue и приклепляются к нужным местам на странице
Stas
Подскажите пожалуйста! Как передать в компонент массив? или объект? через props передается только название
Nikita
:props="myProp"
Nikita
ты бы дальше прочитал, там по доке написаны про динамические пропсы
Stas
Nikita
откуда из вне?
Nikita
из window?
Stas
да
Nikita
ну тогда в родителе создаешь в дате свойство типо data() { return { myProps: window.myProps } }
Anonymous
есть вопрос по Роутеру - как использовать динамический id в Navigation guards? router.beforeEach((to, from, next) => { next({name: 'testPageWithDynamicID'})
Nikita
{ name: 'testPage', params: { id } }
Anonymous
в роутере path выглядит так: path: '/testPageWithDynamicID/:id',
Anonymous
{ name: 'testPage', params: { id } }
огромное спасибо, шел этим путем но объявлял id сразу после name, без params
Stas
ну тогда в родителе создаешь в дате свойство типо data() { return { myProps: window.myProps } }
блин наверно я не туда иду. У меня задача такая: есть много items, у каждого item есть по 3 выпадающих списка и я хочу восстановить состояние выбора пользователя после обновления страницы. Думал что компонент можно использовать так: передаю туда массив параметров списка и параметр, который был выбран ранее. А компонент создает много options и один из них будет selected. Вижу что проще перебрать массив и найти без vue js решение. В js не силен, поэтому вопрос может звучать глупо. Пару дней назад сел изучать
Nikita
ты можешь хранить состояние в роутере через queryParams или в localStorage или в sessionStorage (он обнуляется после закрытия вкладки)
Stas
а состояние у меня есть, я не могу его с помощью vue js поставить)
Stas
при загрузке страницы подтягивается история выбора, мне остается как-то пометить пункт selected
Anonymous
ты можешь хранить состояние в роутере через queryParams или в localStorage или в sessionStorage (он обнуляется после закрытия вкладки)
а нормально выдергивать данные прямо из store, причем не геттером, а обращаясь к state? (у меня роутер в обычном js-файле)
Nikita
чтоб не было желания напрямую стор модифицировать и все такое.
Stas
Привет! Подскажите, у меня есть данные что пользователь выбрал раньше, после перезагрузки страницы хочу восстановить его выбор, таких полей несколько в item и item'ов много. Это Vue js
Stas
здесь вывожу список, в {{ item['Бумага'] }} у меня прошлый выбор
Anonymous
ну так люди делают, но я предпочитаю создавать гетторы
научи как? погуглил по vue js getters in plain js files выдало неочевидные решения
Nikita
научи как? погуглил по vue js getters in plain js files выдало неочевидные решения
а, ты стор держишь в обычном файле, ты не vuex используешь?
Nikita
Anonymous
как раз vuex, но хотел бы использовать геттеры в router.js + auth.js
Nikita
https://ru.vuejs.org/v2/guide/forms.html#%D0%92%D1%8B%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%89%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B8
Nikita
самый последний пример
Nikita
что за роутер ты используешь? vue-router?
Anonymous
что за роутер ты используешь? vue-router?
да-да, но вопрос в том, что в компоненте я импортирую геттеры вот так: computed:{ ...mapGetters({ а как сделать это в обычном .js файле непонятно (не в компоненте .vue)
Nikita
аа
Nikita
я тебя не понял
Nikita
да просто
Nikita
import store from 'src/store'
Nikita
а потом store.getters.myGetterName
Anonymous
о, вот как. Ценная инфа, не встречал пока таких записей. Еще раз спасибо
Nikita
Nikita
vuex просто обьект с методами и свойствами, ничего страшного нет в том, чтоб использовать его вне vue файлов
Stas
<select :value="myPropDefault" />
не думал что в select указывается это, спасибо. Там в options в примере
Anonymous
ага, сейчас очевидно но раньше не додумался 🙂
Kyrylo
Подскажите пожалуйста, как заставить перередериваться страницу после изменения вложенного свойства объекта в стейте? изменить state.property - тут все работает реактивно, если же изменить state.obj.property то уже нет, или это как раз тот случай когда нужно использовать forceUpdate?
Stas
<select :value="myPropDefault" />
а как выбрать самый первый вариант, если myPropDefault нет?
Nikita
а как выбрать самый первый вариант, если myPropDefault нет?
просто запиши этот вариант в myPropDefault, а потом перепиши этот вариант, когда получишь реальный default prop
Kyrylo
да
Nikita
да
а vue работает так. Он видет объект и проходит по нему рекурсивно и вешает на него ватчеры. Если объект пустой, а ты решил добавить свойство, то вуе на него не среагирует, потому, что на момент объявления этого свойства не было
Nikita
поэтому у тебя 2 варианта: 1. Использовать Vue.set() or this.$set() 2. Перезаписывать объект полностью
qluqua
Доброй ночи. Что-то никак мне не удаются добавить в стандартный vue-cli webpack шаблон генератор svg-спрайта из отдельных svg-иконок. Раньше на гульпе сидел, поэтому сложно заходит. Есть тут люди которые могут помочь/поделиться конфигом?
Kyrylo
Спасибо, сработало) PS. "надо тщательней читать доку"
Kyrylo
поэтому у тебя 2 варианта: 1. Использовать Vue.set() or this.$set() 2. Перезаписывать объект полностью
Nikita
не особо помогает
Nikita
я собираю через галп спрайты и потом через inline лоадер подключаю собранный спрайт
qluqua
Так можно делать, согласен, но хочется по-молодежному, что бы потом смотреть репорты по бандлам и тд и тп
Nikita
в жопу это, не нашел ничего хорошего из решений для вебпака
Nikita
но если найдешь звякни плз
qluqua
Вот и я гугл мучал часа два, пробовал разные лоадеры и нифига