Подскажите как реализовать загрузку компонентов vue, чтобы не ломалась верстка ?
Думаю это относится не только к vue, поэтому интересует именно правильный подход
основная часть страниц рендерится на сервере, т.е. приходит уже готовый html со своими стилями, но какие-то фрагменты рендерятся на vue, т.е. на клиенте, и это не всегда выглядит красиво, получаются как -бы "прагающие" блоки
правильно ли править это стилями, т.е. задавать фиксированне размеры блоков ?
кто как решает данную проблему?
да, но вот как его правильно сделать?
по сути он же находится внутри компонента, т.е. в любом случае пока компонент не загрузится мы не увидим и прелоадер
kirillsnovikov, не обязательно совать прелоадер во вью. Раз у вас часть приложения рендерится на сервере, часть на клиенте, то и js использовать придется и для клиентского приложения, и для серверной верстки.
Прелоадер по дефолту должен быть на странице при первичном рендере, как только загружается вью - прелоадер убирается.
btw, задавать фиксированные размеры блокам - плохая практика, рано или поздно контента в блоке может быть очень много, будет вылезать за края. Вы можете задать минимальные значения блокам, но это а) не спасет от прагающих блоков после рендера контента на 100%, и б) быстрее сделать прелоадер.