Андрей
Можно как-то из компонента (который в src находится) изменить данные в app.vue?
Андрей
$emit и $on вроде не подходит для этого дела
Anonymous
$bus
Anonymous
если vuex нет
Victor
Можно как-то из компонента (который в src находится) изменить данные в app.vue?
ну типа как бы компонент не должен знать про App. Это вроде как против SOLID
Victor
Тогда уж реально Vuex
Anonymous
А типо APP как бы и не знает
Anonymous
он просто по шине получает эвент
Anonymous
очень очень узкий и тупой vuex
Андрей
Я использую vuetify и у меня в app есть toolbar. Я хочу чтобы после авторизации у меня менялись пункты toolbar(а)
Андрей
Может я вообще не так делаю?
Андрей
И я не использую vuex
Victor
очень очень узкий и тупой vuex
Это типа который export const $bus = new Vue(); ИМХО это подходит только для небольших приложений, а то при разрастании кода все эти потоки сообщений станут неуправляемыми
Anonymous
да я знаю что это очень очень хауноу но блин.
Anonymous
иногда выручает
Anonymous
Vuex
Rafael 🌵
А как быть тогда?
Я бы пока посылал 2 одинаковых запроса из разных компонент
Anonymous
ну либо пробрасывай до самого аппа емиты
Rafael 🌵
А не внедрял vuex
Victor
Ну у тебя как бы 3 варианта: 1. $emit по цепочке 2. $bus 3. vuex
Victor
Выбирай
Андрей
1 не работает
Андрей
3 не вариант
Victor
Почему?
Андрей
2 хз
Rafael 🌵
Теперь поясняю почему: vuex это когда МНОГО (не 2) компонент нуждаются в одиночку и тех же данных
Андрей
Почему?
Не на столько хорош во вью чтобы сказать
Андрей
Но ведь это не норм
Rafael 🌵
Я бы пока посылал 2 одинаковых запроса из разных компонент
Более того, из-за кешировать браузером ответов в будущем нагрузки на сервер не будет
Rafael 🌵
Victor
Но ведь это не норм
А типа изменять данные приложения из компонента - это норм?
Victor
Дочерний компонент ничего не должен знать о вышестоящих компонентах, включая app.vue
Victor
Так что у тебя выбор не между плохо и хорошо, а между плохо и еще хуже
Андрей
А на счёт запросов. Получается мне при кажом изменении урла делать гет запрос?
Victor
Ты ж сказал, что это не вариант
Андрей
Андрей
Метод в app вообще не вызывается из компонента
Victor
и не должен я ж говорю - по цепочке
Victor
ты должен делать $emit - on на КАЖДОМ уровне
Андрей
Ладно, а есть какие ещё варианты как изменить toolbar в app?
Андрей
Неужели данные которые есть в app - остаются только в app?
Victor
Авторизация как делается?
Victor
websanova ?
Андрей
Нет
Андрей
Делается как понимаю вообще через жопу с помощью бека и сессий
Victor
Ну как вариант можешь запилить плагин, по аналогии с vue-auth Тогда ты делаешь Vue.use и у тебя в глобальном объекте будет доступно нечто, что совершает авторизацию И тогда ты из любого места сможешь его вытягивать
Victor
Примерно вот так: https://github.com/websanova/vue-auth/blob/master/src/index.js
Michael
народ помогите как вывести обьект json в теплэйт
Michael
Victor
После такой инициализации у тебя в любом компоненте будет доступно this.$auth
Victor
Да, где-то так
Victor
Но некоторые выступают против засорения прототипа Vue
Victor
Типа это плохо
Victor
Но как я уже сказал, ты из-за нежелания использовать vuex, выбираешь между плохо и еще хуже
Victor
Victor
Ты парсишь json в локальную переменную
Victor
Ее никто так не увидит
Victor
Всего кода я не вижу, но думаю, что тебе нужно делать this.list = JSON.parse(response)
Андрей
Хотя ещё не знаю как отличить маленький и большой проекты
Victor
Но на самом деле Vuex сам по себе это и есть глобальная переменная, да еще и singleton :)
Victor
Так что так или иначе тебе придется юзать глобальные переменные
Андрей
Понял, принял, спасибо. Завтра уже буду думать
Michael
Так что так или иначе тебе придется юзать глобальные переменные
тоесть мне в data инициализировать переменную и присвоить ей массив
Victor
ага
Michael
из create() в data()
Victor
что-то типа data() { return { list: [], }; } created() { axios.get().then(function (response) { this.list = JSON.parse(response); }); }
Victor
Это схематически
Victor
Так как list реактивен, то после его изменеия список должен сам отрендериться
Michael
ага попробую сейчас
Michael
this для чего она там?
Michael
Разобрался)
Никита
Кто-нибудь юзает vee-validate? Как там нормально с автоматическими классами работать?
Никита
На форме сразу всё инвалидировано при старте
Vitalii
https://github.com/vuejs/roadmap
Vitalii
значимая штука