Aetae, спасибо, да, возможно, проблема была в каком-то другом месте. Сегодня исправлял другие ошибки, а к вечеру посмотрел - окно перестало исчезать. :D Спасибо за советы.
Aetae, с $nextTick - это я извращался, но не работает ни с ним, ни без него. Блок находится внутри шаблона компонента, а функцию "show" вызываю в "mounted" этого же компонента.
Алекс Глебов каков вообще алгоритм публикации и работы подобного сайта? У меня на локальном сервере в одной папке находится Nuxt и в другой (как бы другой сайт) - Laravel, серверное API.
Сайт Nuxt открываю в браузере по такому адресу: localhost:3000
Запросы к Laravel (из Nuxt) делаю по такому адресу: localhost:8000
После вызова "build" создаётся папка ".output", в которой содержится структура, описанная в вопросе. Правильно я понимаю, что содержимое папки "output" нужно поместить на сервере в отдельную папку, и для работы собранного сайта необходим запущенный сервер с Nuxt (с версией для разработки) и запущенный сервер API Laravel? Опубликованный сайт будет обращаться к ним для отображеня содержимого?
Антон Антон Попытался использовать Teleport - если отправлять данные в body, то все в порядке, а при попытке отправить в компонент по id (to="#element_id") в консоли появляется следующая ошибка:
Aetae, это вы хорошо сказали, и теперь я убедился, что проблема, действительно, есть. Как раз из-за того, что разметка генерируется в JavaScript и выводится частями. Но как тогда отрендерить всю разметку в строку, чтобы вывести её целиком? В вашем примере получается, что разметка компонента сразу задаётся в виде строки, но этот вариант неудобен для больших компонентов. И не уверен, что он правильный в условиях приложения Nuxt.
Aetae, и почему не получится вложенность или поедет вёрстка? Если все теги вложенного компонента правильно закрываются, и теги внешней разметки не теряются при разбиении, разве, должно что-то поехать?
Aetae, статья в HTML. В данный момент реализовал через разбиение строки функцией "split". Прохожу в "v-for" по получившемуся массиву и строки вывожу в "v-html", а в тех местах, где встречаются специальные вставки подключаю компоненты. Но может быть, есть и более красивое решение.
Главный вопрос - как встроить их в текст статьи. То есть, тег #GALLERY# из примера в вопросе всё равно будет преобразовываться в некий компонент (<v-gallery/>). Можно хранить в тексте статьи и такое представление. Но вот как заставить Vue подключать их как компоненты...
Но сами картинки должны храниться на стороне API (Laravel)? То есть, браузер должен обращаться по тому адресу, где находится API, а не по тому, где находятся Nuxt + Vue?
Вадим, нет, в реальном времени ничего меняться не будет. Расположение картинок (и их размер) будет вычисляться при выводе, в зависимости от их количества.