Size: a a a

Клуб Vue.js-разработчиков

2021 February 16

В

Валентин in Клуб Vue.js-разработчиков
Андрей Рудин
когда будет стор, другой вопрос. но как в том числе говорил Илья, в 99% случаев стор не нужен.
Видимо я работаю с этим одним процентом, у меня постоянно какие-то данные нужны в 100500 местах 😁
источник

AA

Andrew AN in Клуб Vue.js-разработчиков
Андрей Рудин
вот это слушатель :( и он ругается на то что emitter is nudefined
{...} именованный импорт следовательно должен быть именованный экспорт, а если экспорт по дефолту, то импортишь в переменную без скобок.
источник

AA

Andrew AN in Клуб Vue.js-разработчиков
Stanislav Lashmanov
Потому что вы сделал export default, а не export const emitter
+1
источник

АР

Андрей Рудин... in Клуб Vue.js-разработчиков
Валентин
Видимо я работаю с этим одним процентом, у меня постоянно какие-то данные нужны в 100500 местах 😁
ну когда проект растет, то да, разумеется, без него не обойтись.
источник

АР

Андрей Рудин... in Клуб Vue.js-разработчиков
Andrew AN
{...} именованный импорт следовательно должен быть именованный экспорт, а если экспорт по дефолту, то импортишь в переменную без скобок.
спасибо, да, надо этот момент подучить!
источник

AA

Andrew AN in Клуб Vue.js-разработчиков
Андрей Рудин
спасибо, да, надо этот момент подучить!
Да пару раз промахнёшся и само запомнится
источник

SP

Sergey Popurey in Клуб Vue.js-разработчиков
th.witness
Я сильно опоздал?
Супер старрр
источник

AG

Alexey G in Клуб Vue.js-разработчиков
Всем привет. Подскажите пж как во VUE импортировать значение из стора или геттера   в индексный файл в роутере. для того чтобы использовать это значение для защиты роутера от перехода. вот так не работает
   path: '/list',
   name: 'list',
   component: List,
   beforeEnter (to, from, next) {
     console.log('beforeenter')
     if(this.$store.getters.LOGIN){
       next()
     }
   }

Выдает ошибку  property '$store' of undefined
источник

PI

Petr Ivanov in Клуб Vue.js-разработчиков
Alexey G
Всем привет. Подскажите пж как во VUE импортировать значение из стора или геттера   в индексный файл в роутере. для того чтобы использовать это значение для защиты роутера от перехода. вот так не работает
   path: '/list',
   name: 'list',
   component: List,
   beforeEnter (to, from, next) {
     console.log('beforeenter')
     if(this.$store.getters.LOGIN){
       next()
     }
   }

Выдает ошибку  property '$store' of undefined
импортни стору внутрь
источник

D

Denis in Клуб Vue.js-разработчиков
Alexey G
Всем привет. Подскажите пж как во VUE импортировать значение из стора или геттера   в индексный файл в роутере. для того чтобы использовать это значение для защиты роутера от перехода. вот так не работает
   path: '/list',
   name: 'list',
   component: List,
   beforeEnter (to, from, next) {
     console.log('beforeenter')
     if(this.$store.getters.LOGIN){
       next()
     }
   }

Выдает ошибку  property '$store' of undefined
Можно при инициализации роутера передавать созданный store
источник

AG

Alexey G in Клуб Vue.js-разработчиков
Petr Ivanov
импортни стору внутрь
ок спс щас попробую
источник

PI

Petr Ivanov in Клуб Vue.js-разработчиков
Alexey G
Всем привет. Подскажите пж как во VUE импортировать значение из стора или геттера   в индексный файл в роутере. для того чтобы использовать это значение для защиты роутера от перехода. вот так не работает
   path: '/list',
   name: 'list',
   component: List,
   beforeEnter (to, from, next) {
     console.log('beforeenter')
     if(this.$store.getters.LOGIN){
       next()
     }
   }

Выдает ошибку  property '$store' of undefined
ну и еще нужно понять, что нет доступа к экземпляру внутри хука
источник

AA

Andrew AN in Клуб Vue.js-разработчиков
Alexey G
ок спс щас попробую
+1
источник

СЛ

Саша Левчак... in Клуб Vue.js-разработчиков
Stanislav Lashmanov
Сделать метод getComponentInstanceListeners(instance) {} и через него получить навешенные обработчики (const listeners = getComponentInstanceListeners(this)). Для тройки соответственно переписать.
Спасибо за вариант )
В принципе можно использовать ваш подход и примесить (миксином) к компоненту через переменную $listeners в тройке (не уверен, скорее всего, вю3 не позволит создать свойство с префиксом $), то в двойке можно спокойно писать как обычно
Осталось ещё придумать как разобрать attrs на обработчики и пропсы
Если что, это просто спортивный интерес, я бы не тащил такой подход в проект
источник

АР

Андрей Рудин... in Клуб Vue.js-разработчиков
Andrew AN
Да пару раз промахнёшся и само запомнится
круто! все получилось, спасибо большое!
источник

AP

Anton Permyakov in Клуб Vue.js-разработчиков
как можно промисифицировать вызов модалки во вью?
я пока придумал только провайдить метод из рута, но я не хочу привязываться к контексту, хочу просто импортить метод из сервиса
источник

AP

Anton Permyakov in Клуб Vue.js-разработчиков
посмотрел как в либах сделано, там new Vue вызывается
источник

SL

Stanislav Lashmanov in Клуб Vue.js-разработчиков
Саша Левчак
Спасибо за вариант )
В принципе можно использовать ваш подход и примесить (миксином) к компоненту через переменную $listeners в тройке (не уверен, скорее всего, вю3 не позволит создать свойство с префиксом $), то в двойке можно спокойно писать как обычно
Осталось ещё придумать как разобрать attrs на обработчики и пропсы
Если что, это просто спортивный интерес, я бы не тащил такой подход в проект
export const getListeners = attrs => Object
 .keys(attrs)
 .filter(key => key.startsWith('on'))
 .reduce((acc, key) => {
   const listener = attrs[key];
   const normalizedKey = key[2].toLowerCase() + key.slice(3);
   acc[normalizedKey] = listener;
   return acc;
 }, {});
источник

N

ND in Клуб Vue.js-разработчиков
Привет, столкнулся с проблемой надо импортить функцию с библиотеки в mounted , Как это сделать?
источник

АР

Андрей Рудин... in Клуб Vue.js-разработчиков
в общем беру свои слова про ESlint обратно :) если долго помучаться, настроить, он не дает тебе расслабляться и пишешь красивый код :) всем спасибо, кто поддерживал меня в то нелегкое для меня время )))))))
источник