Maxim
https://lodash.com/docs/4.17.4#union
Maxim
?
Anton
Подскажите может кто сталкивался, подключил vuex, создал объект vuex.store, импортировал в объект vue:
new Vue({
el: '#app',
store,
template: '<App/>',
components: { App }
})
по документации, теперь в дочерних компонентах должен быть доступ к стору через this.$store, но его нет. В чем может быть дело?
Евгений
Vue.use(Vuex) ?
Anton
+
Vladimir
+
Всегда , если хочешь записать в прототип и использовать в любом месте, то юзай команду сверху, что Евгений прислал
Anton
Не, я к тому что она используется
Anton
И все равно не работает
Anonymous
Во налетели
Dmitry
это джанго десант )
Stanislav
Dmitry
Bob
Че тут? Где пироги?
Stanislav
* в браузере
Anton
вывел в main.js, выводит объект стора, все ок
Anton
в компонентах не видит, только если напрямую импортировать стор и использовать импортированый объект не через this
Stanislav
Ну тогда только весь код показывай
Yaroslav 🇺🇦
Компоненты не раздельные случаем?
Anonymous
С днем программиста всех!!!
Anton
https://gist.github.com/An2An96/0483c63a36c10b461d2a5d7fc3907fdc
Anton
Ну тогда только весь код показывай
Yaroslav 🇺🇦
А где у тебя auth в гавной компоненте?
Anton
в роутах
Stanislav
Auth.vue ?
Stanislav
ой
Stanislav
App.vue
Anton
скинуть или что?
Stanislav
Да, добавь туда
Stanislav
На первый взгляд все вроде норм
Stanislav
попробуй в mounted() App.vue console.log(this.$store)
Yaroslav 🇺🇦
В сторе
export function createStore () {
return new Vuex.Store({
Yaroslav 🇺🇦
В app
import { createStore } from './store'
const store = createStore()
Stanislav
Anton
в главной компоненте app.vue тоже не работает: Cannot read property 'dispatch' of undefined
Anton
Да, добавь туда
Anton
готово
Anton
this.$router к слову работает
Anton
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App },
mounted: function () {
console.log('mounted: ' + this.$store)
}
})
mounted: undefined
Roman
Кто нибудь понял какие важные обновления вышли в новой версии Vue сегодня, не касающиеся SSR
Vova
сколько ребят залетело, но никто не представился)
Nikita
никак не могу найти объяснений почему так втапливают за vuelidate и хейтят vee
Nikita
пара объяснение в pinned message добавлять
Yaroslav 🇺🇦
Anton
Дак я залил, жду вариантов, может кто что предложит
Anton
пока ничего не работает
Yaroslav 🇺🇦
А ошибок сборка никаих не сыпет?
Anonymous
Ребят а экшены что 1 аргумент принимают в себя чтоль?
Anonymous
или это только мутации 1 аргумент принимают?
Anton
да, объектом передавай
Anton
Ребят а экшены что 1 аргумент принимают в себя чтоль?
Anton
нет, варн один есть
Anton
А ошибок сборка никаих не сыпет?
Anonymous
CHANGE_CRITERIA({dispatch, commit}, key, value){
console.log(key, value);
commit(CHANGE_CRITERIA, key, value)
dispatch('ITEMS_LOAD');
},
че реально value не увидит?
Anton
{key, value}
Anonymous
вот 💩
Aλexander
Новое animoji?
Alexander 🐯
Roman
Server-side rendering, то есть когда ты юзаешь Vue на сервере
Astr0junk
Server Side Rendering
Yaroslav 🇺🇦
нет, варн один есть
Я бы упростил систему до стейта с одним состоянием и екшеном прямо в главном модуле vue, потом выделил бы в отдельный но целый, потом модуля и дальше мап стейт и мап екшенс
Astr0junk
@RaccoonForever когда всё что угодно юзаешь что бы на сервере отрендерить страничку
Astr0junk
)
Alexander 🐯
Alexander 🐯
Anton
ок, ща попробую
Anton
Я бы упростил систему до стейта с одним состоянием и екшеном прямо в главном модуле vue, потом выделил бы в отдельный но целый, потом модуля и дальше мап стейт и мап екшенс
Anton
создаю объект стореджа в main.js - Все работает
Yaroslav 🇺🇦
Значит что-то с сторой которую ты передаешь через импорт.
Anton
тот же самый код вынесеный в отдельный файл - не работает
Anton
its a prank
Yaroslav 🇺🇦
что-то с Vue.use(Vuex)
Anton
импортируется оно нормально:
import store from './store'
console.log(store)
выводит объект нормально
Anton
когда уже передал в экземпляр vue, то this.$store - undefined
Yaroslav 🇺🇦
Ну хз, сделай как я написал в самом начале, это канонично, взято у Эвана
Anton
вообщем заработало так:
1) подключаю vuex в main.js
2) там же vue.use(vuex)
3) подключаю store: import store from './store'
4) передаю store в экземпляр vue
то есть как ты и сказал проблема с vue.use, работает только если использовать ее в главном файле ДО подключения внешнего файла где создается экземпляр store
Anton
по сути бред, все равно же это кешируется, соответственно vue.use что в главном что в стороннем файле будет воздействовать на одни и те же данные пакета vue
Anton
или я чего то не понимаю
Yaroslav 🇺🇦
У меня в проектах vue.use в модуле сторы, так же как и в модуле роутера.
Но инстансы создаются в главном (в main у тебя)