169 похожих чатов

Всем привет. Такой вопрос, я пытаюсь динамически загружать иконки в

component is таким образом, однако если пропс меняется динамически - иконка не меняется и компутед не отрабатывает на изменение пропса. Почему? Просто через () => import() делать ругается vite, а в проде вообще так свг не тянет

7 ответов

19 просмотров

1. не нужно класть glob в ref, он резолвится во время билда и больше не меняется 2. потому что ты юзаешь пропс не внутри computed, а внутри возвращаемой функции, лучше это переписать на вотчер с явной зависимостью в виде props.name, тогда все будет работать, как и ожидаешь

Виталик- Автор вопроса
Artyom Tuchkov
1. не нужно класть glob в ref, он резолвится во вр...

Спасибо. Пункт 1 поправлю, абсолютно верное замечание. По пункту 2 сам дошел до этого, да. Работает ожидаемо. Однако очень бесит что иконки как бы "дергаются" при изменении пропса. Как будто пропадают, освобождают место в контейнере и потом появляются

Виталик
Спасибо. Пункт 1 поправлю, абсолютно верное замеча...

смотря как ты их обновляешь, можно сначала асинхронно загрузить компонент и засунуть уже готовый в переменную, тогда ничего дергаться не будет и на время загрузки просто будет отображаться старая иконка

Виталик- Автор вопроса
Artyom Tuchkov
смотря как ты их обновляешь, можно сначала асинхро...

не очень понял если честно, что именно имеется ввиду. Обернуть defuneAsyncComponent в async await? потому что сам по себе defineAsyncComponent Promise то не возвращает

Виталик- Автор вопроса
Artyom Tuchkov
смотря как ты их обновляешь, можно сначала асинхро...

при такой реализации дерганье остается, по крайней мере

Виталик
при такой реализации дерганье остается, по крайней...

если ты используешь defineAsyncComponent, то он начнет подгружать иконку уже после смены компонента, отсюда и дерганье нужно либо ему фоллбэк задавать на какой-нибудь спиннер https://vuejs.org/guide/components/async.html#loading-and-error-states, либо просто не использовать его и ждать промис самостоятельно, а потом пихать готовый компонент в переменную, тогда она обновится сразу же

Виталик- Автор вопроса
Artyom Tuchkov
если ты используешь defineAsyncComponent, то он на...

ура, вот конечный код компонента. по итогу компонент нельзя класть в реф, его надо класть в shallowRef, чтобы избежать траблов с перформансом чтобы пути резолвились правильно и на проде и локально юза/ витовский glob такая реализация без варнингов и дерганий динамически меняет и загружает свг еще раз спасибо!

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта