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

Как можно отследить изменение роута? нашел такой вариант computed: {

sectionTopNav() {
const route = this.$router.currentRoute.path.split('/')[1]
this.component = () =>
import(`@/components/${route}.vue`)
},
},
но так как computed - срабатывает только при обновлении страницы
как заставить его делать это при изменении роута?

25 ответов

49 просмотров

watch: { '$route': function (value) { } }

Алекс- Автор вопроса

вот это хрень какая-то :) Используй динамические импорты и выбирай нужный компонент через computed <template> <component v-if="component" :is="component" /> </template> <script> export default { components: { component1: () => import(...), component2: () => import(...), component3: () => import(...), component4: () => import(...), }, computed: { component () { return [ 'component1', 'component2', 'component3', 'component4' ].find(c => c === this.$route.name ) } } } </script>

Алекс- Автор вопроса
Bogdan Saliuk
вот это хрень какая-то :) Используй динамические и...

я так и сделал. просто теперь если есть ссылка на странице, ведущая на роут который не существует - а компонента с таким именем нет, ошибку выдает просто хочу проверять перед импортом, существование компонента в папке

Алекс- Автор вопроса
Bogdan Saliuk
v-if

не помогает, все равно ошибку выдает Reason: Error: Cannot find module './docs.vue'

Алекс
не помогает, все равно ошибку выдает Reason: Error...

const AsyncComponent = () => ({ // The component to load (should be a Promise) component: import('./MyComponent.vue'), // A component to use while the async component is loading loading: LoadingComponent, // A component to use if the load fails error: ErrorComponent, // Delay before showing the loading component. Default: 200ms. delay: 200, // The error component will be displayed if a timeout is // provided and exceeded. Default: Infinity. timeout: 3000 })

Алекс
не помогает, все равно ошибку выдает Reason: Error...

почему не сделать по человечески? :) Ты не знаешь, какие компоненты могут быть вызваны? У тебя прям оооочень много компонентов, которые могут быть вызваны?

Алекс- Автор вопроса
Bogdan Saliuk
почему не сделать по человечески? :) Ты не знаешь,...

дело не в этом. страницы docs не существует(мы же не знаем, какие еще юзер там в адресе наберет), показывается страница 404, но так как в хэдере подключается компонент с таким же именем - вот мне надо чето с этой ошибкой сделать, либо проверять и подключать какой то дефолтный компонент, вместо несуществующего, либо не подключать никакой вот надо как то проверить, а как?

Алекс
дело не в этом. страницы docs не существует(мы же ...

Так я и говорю же. Какая разница, что там вводит юзер в адресную строку? У тебя есть список роутов и список компонентов. Если роут не соответствует ни одному из компонентов - делаешь, что тебе нужно

Алекс
дело не в этом. страницы docs не существует(мы же ...

computed: { component () { return [ 'component1', 'component2', 'component3', 'component4' ].find(c => c === this.$route.name ) } }

Алекс- Автор вопроса
Bogdan Saliuk
computed: { component () { return [ 'c...

опять же, как при таком варианте проверить, на существование компонента?

Алекс- Автор вопроса
Bogdan Saliuk
https://t.me/nuxtjs_ru/168556

он все равно будет выдавать ошибку, если компонент отсутствует

Алекс
опять же, как при таком варианте проверить, на сущ...

Еще раз nuxt не работает с вашей структурой папок. Он собирает все файлы в один и потом его запускает.

Алекс
он все равно будет выдавать ошибку, если компонент...

😄 Ты код мой видел? Ты не подставляешь роут в импорт

Алекс- Автор вопроса
Bogdan Saliuk
😄 Ты код мой видел? Ты не подставляешь роут в импо...

короче я посчитал, у меня 7 динамических блоков в хэдере, и 52 раздела - итого 364 импорта надо написать. и это только в хэдэре будет ) не, спасибо )

Алекс- Автор вопроса
Bogdan Saliuk
почему 364?

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

Алекс
потому что для каждого из 52 разделов в эти 7 блок...

52 раза уникальные 7 компонентов шапки?

Алекс- Автор вопроса
Bogdan Saliuk
52 раза уникальные 7 компонентов шапки?

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

Алекс
содержимое подключаемых блоков меняется в зависимо...

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

Алекс- Автор вопроса
Bogdan Saliuk
В таком случае, я бы сказал, что тебе нужно, так и...

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

Алекс- Автор вопроса
Bogdan Saliuk
вот это хрень какая-то :) Используй динамические и...

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

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
4
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Карта сайта