Stanislav
akasybe
Aleksey
Привет коллеги!
У меня мистика какая-то, есть getter:
const getters = {
isAuthenticated: state => !!state.token,
};
Вызываю его в компоненте:
computed: mapGetters({
items: 'getItems',
fields: 'getObjFields',
isAuthenticated: 'isAuthenticated'
}),
Все другие геттеры нормально находит, а этот не видит:
[vuex] unknown getter: isAuthenticated
что с ним не так?
Oleg
...mapGetters
Aleksey
так ведь если в computed только getter'ы можно и без этого ведь?
Aleksey
впрочем попробую с ...
Oleg
А импортишь как mapGetters?
Oleg
А, погоди
Aleksey
import { mapGetters } from 'vuex'
Oleg
computed: {
и тут уже пошла жара.
}
Alexander
Alex
Тогда же он будет в адресной строке а это не правильно.
Andy
Ребята, есть вопрос по scoped <style>...
Имеется компонент SignUpStep.vue, у которого написаны некоторые стили:
1) Если они "scoped", то этот компонент как будто бы тянет за собой весь стиль vuetify, и это офигенно мешает достичь нужного эффекта:
http://joxi.ru/Dr8aPdnIkedOEm
http://joxi.ru/YmEg3KkcZpvOlA
2) Если они не scoped, а обычные - то эти стили не втаскиваются в компонент и он ведет себя более нормально
http://joxi.ru/82QjLZ7H1eKooA
в чем прикол? зачем это делается и как этого избежать?
Alex
Блин, такая тупая штука а я не могу её сделать.
Aleksey
один фиг та же ошибка [vuex] unknown getter: isAuthenticated
при
computed: {
...mapGetters({
items: 'getItems',
fields: 'getObjFields',
isAuthenticated: 'isAuthenticated'
}),},
Aleksey
причём другие то геттеры работают, говорю же мистика какая-то
Oleg
🅅aleriy
Oleg
🅅aleriy
можно же просто { ...mapGetters(['getItems', 'getObjFields', 'isAuthenticated']) }
🅅aleriy
а зачем оно должно отличаться то?
Aleksey
Aleksey
для контекста
Oleg
Alexander
должно всё работать
Alexander
метод действенный
Alexander
если не получается - нужен код\
Alexander
чтобы что-то говорить
🅅aleriy
и вообще лучше использовать
🅅aleriy
vue-property-decorator
vuex-class
Aleksey
так какой код нужен? вроде экспорты есть:
export default {
namespaced: true,
state: initialState,
getters,
actions,
mutations,
};
модуль прописан в store:
import auth from './modules/auth';
const store = new Vuex.Store({
modules: {
products,
auth,
password,
signup
},
чего ему не хватает?
Alex
метод действенный
Ну вот чел будет отчаянно жать ф5 и что делать дальше? Я же в компоненте error я понятия не имею что делать. Можно конечно по этому роуту на главную его отправлять но очень желательно чтобы получив ошибку на /profile он обновляя страницу запрашивал /profile
🅅aleriy
https://github.com/ktsn/vuex-class
🅅aleriy
юзаешь vue-class и никогда не запутаешься во всех этих геттерах. мутациях и прочих сущностях
🅅aleriy
и компоннет выглядит более человечнее
🅅aleriy
Aleksey
чёт пока не врубаюсь в чём его плюс
Alexander
🅅aleriy
а делать линейный красивый и понятный код
Андрей
Андрей
Магия магией погоняет.
Aleksey
🅅aleriy
ужас будет когда у тебя приложение перевалит за 400 компонентов
Serge
#3301⏣SoulString
#3301⏣SoulString
обсуждался ввод
🐏 Alexander
🐏 Alexander
в чем смысл так писать
#3301⏣SoulString
i.e. new Data('01.02.2018', 'dd.mm.yyyy')
Alex
🅅aleriy
надо понимать, что если писать по документации что на реакте, что на vue, то получится полная каша
Aleksey
Андрей
🅅aleriy
Андрей
Походу я становлюсь противником декораторов.
🅅aleriy
🅅aleriy
cimputed Это всего лишь геттер класса
Serge
а теперь давай миксин запили туда )
Андрей
🅅aleriy
это все для странных людей
Alexander
Но для этого мне надо в шаблон каждого компонент добавить эту фигню.
Можно, но не думаю что это будет разумно. Добавьте в самый верхний компонент Vue (по умолчанию это App.vue) v-if и геттер для ошибок, если в сторе появилась ошибка - вы рендерите её еомпонент, который на уровне вёрстки будет идти поверх всего что у вас есть. Дайте ему очень большой z-index и с таймаутом убирайте потом в сторе ошибку.
🅅aleriy
вот как то с реакта еще повелось - не использовать миксины
Андрей
🅅aleriy
но использовать их можно все равно
🅅aleriy
Serge
Alex