Rafael 🌵
Rafael 🌵
самый тру вей
Nikita
И как решил?
пришлось сохранять в локальную переменную пришедшие данные, исползовать только их, после запроса уже обновлять локальную переменную компонента
Nikita
Nikita
Nikita
хотя и на деле мне очень не нравится решение
Max
через computed делай
нэээ лишний код - это ненужный код
если хочу сказать что отобрази мне user.city.name значит я должен сказать user.city.name
Stanislav
Stanislav
Но вообще, можно v-if повесить, тогда и проверять не нужно
Max
ну устроил но во первых это надо функцию лодаш постоянно грузить(а ее можно и промахать)
а во вторых ну {{get(user, 'city.name')}} - ну как бы - ну ты понимаешь
Stanislav
как выше предлагал Alex
Nikita
Max
да это блокировка ui
Nikita
Max
да всегда - топорно получается
Max
если у тебя пока запрос выполнится все висит и пусто
Nikita
я ж говорю, когда можно юзать v-if \ v-else – все шик
Max
да и user&&user.city это тот же if только кароче
Stanislav
Окей.
Информация о юзере:
Имя: {{...}}
Фамилия: {{...}}
Что должно быть вместо {{}} ? "Загрузка" у каждой строки?
Max
просто когда долго на анге писал - и не задумывался - а тут получаешь полотно ошибок - становится больно
Max
вот да фильтр думал - что то типа |safe но не поможет потому что сначала вычислится экспрешн и вывалится с ошибкой
Nikita
обосрался я со своими шлюзами
Nikita
не получается сделать
Nikita
Окей.
Информация о юзере:
Имя: {{...}}
Фамилия: {{...}}
Что должно быть вместо {{}} ? "Загрузка" у каждой строки?
давай мы шире будем мыслить
1) есть например, список тудушек для разных категорий, при этом, тудушки занимают много места на странице, скрывать их нельзя, прелоадер на весь компонент тоже нельзя
2) меняем категорию – тянем данные
3) вот тут нам не нужно убирать компонент, потому что по дизайну схлопнется половина страницы. поэтому блокируем только смену данных до резолва запроса, покаываем рядом маленький прелоадер, чтоб юзер понимал, что происходит
4) загрузили и обновили данные, разблокировали инпуты, видим новые тудушки для новой категории
на деле запрос может длиться 100-200 мс. меня дизайнеры дрочат даже за то, что у них под виндой, при открытии попапов со скроллом, то два скролла, то страница дерагется при скрытии overflow
Nikita
у меня известно
minFontSize, maxFontSize, maxWidth и elementWidth, как мне человеку который не шарит в математике высчитать размер шрифта, который будет идеально влезать в maxWidth
Nikita
в виде тудушек могут быть дропдауны, тексты, стоимости, рассчеты (в виде этих же вычисляемых), кастомные инпуты в виде слайдеров, дополнителньые блоки, вычисляемые на основе имеющихся данных из разных источников (т.к. обновить данные нужно только для части) и прочее
Nikita
Max
https://medium.com/@chekofif/using-es6-s-proxy-for-safe-object-property-access-f42fa4380b2c
на прокси реализация - не плохо - хотя думал что это должен делать vue я ошибался
Stanislav
Мне сложно представить с текста описанные выше интерфейсы. хз причем тут "меняем категорию", когда речь шла о первичном рендеринге.
Естественно, если данные есть, никто в здравом уме не будет прятать компонент.
А когда у меня список данных для отображения тех же тудушек (или информации пользователя, как я позывал выше), то нет никакого смысла показывать пустые компоненты.
Denys
Nikita
Nikita
vw :D
харе уже, это не использовать
Nikita
у меня с матаном так себе, мне лень и я обычно своих ребят напрягаю)
Valerii
Дэн, ты победил. Глобальную шину прикрутил в проект =)
Пока выглядит неплохо, думаю нужно именовать события по человечески, тогда не запутаюсь в будущем.
Ruslan
Всем привет. Сразу представлюсь, по совету закрепленного сообщения) Работаю над сайтом для игрового сервера, использую как ни странно Vue. Я не специалист, а всего пытаюсь учиться.
Valerii
Привет и добро пожаловать! :)
Ruslan
Как я уже писал, работаю сейчас над сайтом игрового сервера. Использую компоненты отображаемые через
<component :is="currentView"></component>
. Они у меня разной высоты, которую я предварительно не могу узнать (height: auto). Когда меняются компоненты у меня блок расположен ниже сразу же опускается. Вопрос в том, можно ли как-то анимировать появление компонента, чтобы избавиться от этих резких движений?
Ruslan
Transition сами понимаете, не совсем подходит в моей ситуации (с height: auto он не работает).
Anonymous
Anonymous
>Когда меняются компоненты у меня блок расположен ниже сразу же опускается
вот тут по подробнее пожалуйста
Ruslan
<div id="withComponent"><component :is="currentView"></component></div>
<div id="withoutComponent"><h1>Some data</h1></div>
Ruslan
Див с id withoutComponent опускается из-за того что в withComponent появляется DOM с достаточно большим количеством контента
Anonymous
то есть тебе нужно плавное увеличение высоты
Ruslan
Именно
Anonymous
ты можешь отрендерить этот компонент за viewport а потом просто вычислить высоту
Anonymous
короче расклад такой:
-анимировать height впринципе можно и оно не тормозит при средне-засранном доме
-но по факту этого никто не делает вообще тоесть я не видел ниодного подобного эффекта в интернете. все выкручиваются тем что вставляют сразу и именно анимируют выезжание. либо выезжают слева оставляя другой контент не тронутым
Anonymous
почему анимировать высоту зашквар - потому что каждый фрейм перерисовывается вся страница. браузер не умеет насколько я знаю просто юзать то что внизу как картинку и опустить её вниз
Anonymous
как картинку лол
Anonymous
а манипуляции с домом как проводить
Anonymous
вообще скачущий контент - bad practice
Anonymous
должна быть фиксированная высота
Anonymous
а если надо загрузить данные, то делать это в beforeRouterEnter
Anonymous
и тогда весь контент будет отрендерен моментально
Anonymous
ну я и говорю
Anonymous
как ты манипулировать содержимым будешь
Anonymous
может у кого-то извращенные предпочтения
Anonymous
анимацию внутри анимации и все это в анимации
Anonymous
и кажется я уже это видел
Alex
Привет. Есть у кого-нибудь пример с vue и запись в бд, где связь один-ко-многим
Ruslan
Спасибо за советы и идеи. Попробую реализовать идею Sasha 💲🌚✖️ с рендерингом компонента за вьюпортом
Anonymous
Anonymous
Anonymous
лучше уж научиться использовать gpu
Anonymous
это не оч
это то что бы решило проблему тормозов
Anonymous
Anonymous
не решило бы
Anonymous
вообще лучше не перемещать весь дом
Anonymous
и не важно "картинкой" ты это делаешь или нет
Anonymous
лучше контент изначально делать статичным и открывать его шторкой
Anonymous
что такого в перемещении дома ? скролинг разве не это делает ?
Anonymous
то есть ты хочешь растеризовать контент и перемещать его