Завтра
Логика дена
Roman
ну окей, по крайней мере я теперь понял что asyncData работает только на Route компонентах
Roman
но это... как-то.... не очень..
Roman
это тогда нужно загружать асинхронные данные из Route'а в компоненты передавая всё пропами как это у Дена собственно
Denis
Бля дошло
Roman
Бля дошло
но это не решение, поскольку это нарушение энкапсуляции данных
Denis
Ты в курсе что рут компонентов может быть 10 на странице
Denis
?
Roman
чистый сср или нукст?
скачал Hackernews Vue 2.0 как шаблон, без нукста
Yaroslav 🇺🇦
Дэн ты заманал уже с своим пхп, в спа этим говном никто не страдает и даже шина это антипаттерн
Denis
Или у нас 2 глобальных скопа?
Yaroslav 🇺🇦
скачал Hackernews Vue 2.0 как шаблон, без нукста
понял, у меня нет доступа к проекту, но асинкдата можно дёргать и без роута. Нужно разбираться в тонкостях
Roman
за свои данные компонент отвечать должен сам, его данные никому кроме него больше не нужны, поэтому загрузка данных в Route компоненте и передача по пропам это Boilerplate и далеко не идеальное решение
Yaroslav 🇺🇦
Я имел ввиду к своему проекту
Roman
А нахера тогда пропсы?
для данных ИЗ ВНЕ, типа параметров
Завтра
Ебаный инвалид, каждая фича решает определенные задачи, не надо все задачи сводить к чему-то одному
Завтра
Пожалуйста
Завтра
Прекрати эту тупую дискуссию
Roman
но никак не для данных за которые компонент как-бэ ответчать должен сам
Завтра
@Romshark и как у тебя терпения хватает
Denis
Столько бреда давно не слышал
Завтра
Раз ты называешь бредом общепринятые понятия и принципы разработке, можешь валить отсюда и писать, как тебе вздумается Но в чате людям свои джуновские методы не надо впаривать
Roman
короче буду гуглить
Roman
может чего найду
Denis
может чего найду
А если твои параметры тоже с сервака?
Mixam19
По поводу чего срачь, если вкратце?
Roman
По поводу чего срачь, если вкратце?
энкапсуляция данных, Дэн считает что надо весь стейт в root scope выводить, но это конечно-же нонсенс
Roman
По поводу чего срачь, если вкратце?
а вопрос изначальный был как загрузить асинхронный данные с сервера внутри компонента
Mixam19
энкапсуляция данных, Дэн считает что надо весь стейт в root scope выводить, но это конечно-же нонсенс
хрень какая-то, попахивает глобальными переменными и всеми связанными с ними траблами
Roman
угумс
Denis
По поводу чего срачь, если вкратце?
Я им говорю делать как завещал Иван чтоб данные стекали по пропсам. Они хотят делать асинк для каждого компонента
Завтра
оооооооооооооооооооооооооооооо господи
Mixam19
Я им говорю делать как завещал Иван чтоб данные стекали по пропсам. Они хотят делать асинк для каждого компонента
итак, ты говоришь о том, что должны быть контейнеры и дамми-компоненты? или о том, что все должны иметь доступ ко всему?
Mixam19
если первое - то не вижу проблемы
Завтра
@xanf_ua реши уже этот вопрос, пока у меня совсем не сгорела задница (и не только у меня) заранее спасибо
Mixam19
если второе - то хз, как-то не очень
Denis
если второе - то хз, как-то не очень
Пропсы как раз и ограничивают
Roman
ну суть то проста, есть правило: §1. shared state в Store §2. local state - энкапсулировать с компоненте
Завтра
итак, ты говоришь о том, что должны быть контейнеры и дамми-компоненты? или о том, что все должны иметь доступ ко всему?
внесу ясность и скажу, что говорил он вовсе не об этом точнее, сформулировал сейчас совсем иначе
Mixam19
внесу ясность и скажу, что говорил он вовсе не об этом точнее, сформулировал сейчас совсем иначе
ну, в переформулировке ничего зашкварного не вижу ) а если до этого было что-то иное - не могу судить, много срача читать тогда
Завтра
вот ясность
Завтра
энкапсуляция данных, Дэн считает что надо весь стейт в root scope выводить, но это конечно-же нонсенс
Завтра
а вопрос изначальный был как загрузить асинхронный данные с сервера внутри компонента
Завтра
где мои стикеры с корнеллой
Завтра
Roman
так вот дело в том, что речь идёт о компоненте, который показывает grid продуктов, и пропсами мы передаём ему параметры, что и как отображать: <product-grid rows="4" columns="4" productCategory="shoes" pages="false" sort="price"> а там этот компонент уже сам должен подгрузить данные с сервака. Пока он их грузить заблурить grid и отображать спиннер..
Denis
Вы ебанулись ваще, асинк внутри кнопки
Mixam19
но это моё имхо
Завтра
хахахахха какая кнопка господи аааааааа
Mixam19
если грузить в самой компоненте грида - ты привяжешь компоненту к конкретному эндпоинту
Mixam19
и не зареюзаешь в дальнейшем
Завтра
но вопрос был в другом
Завтра
вопрос был где хранить данные для него пока не пришел я, ден активно впаривал, что нужно хранить в сторе и брать оттуда (зачем - не знаю)
Roman
лучше передавать в компоненту функцию, откуда она возьмет свои данные, или ещё лучше - сразу передавать данные для грида в компоненту грида
да, но это-ж нарушение энкапсуляции, в таком случае логика и данные которые вообще то должны быть в гриде переносятся в компонент страницы... т.е. если нам например приспичит создать второй грид, то нужно ещё больше boilerplate в страницу копипастить....
Stanislav
второе не очень, первое найс
Передавать в компонент функцию, которая вызовет получение данных в родительском копоненте? Чего*
Roman
в сторе естественно такие данные не хранят, поскольку они касаются только одного контретного компонента, в стор мы суём данные которые несколько компонентов меж собой делят
Mixam19
попытаюсь объяснить
Завтра
будет универсальный компонент
Stanislav
Передать сервис, из которого возьмутся данные, все верно
зачем? Спускать сразу данные, нафига это дерганье
Завтра
есть, кстати, компонент-обертка
Mixam19
смотри, у твоей компоненты есть ответственность - отображать и позволять делать какие-то действия с данными
Mixam19
получение данных - не её ответственность
Завтра
которому передаешь сервис, он показывает спиннер и после загрузки отображает слот
Mixam19
поэтому ничего зазорного в том, чтобы передавать данные или способ получения данных извне
Mixam19
и инкапсулировать в компоненте только функционал, за который она ответственна
Mixam19
когда в ООП ты в класс передаешь данные в конструкторе - это же не нарушение инкапсуляции
Завтра
@c01nd01r https://ftgibran.github.io/#/vue-api-request смотри
Stanislav