Вам не нужен компонент приложения. Просто назначьте любую оболочку (div) модулю Vue (экземпляр Vue). Я использую компонент для получения контактов, например.
Вы можете иметь несколько приложений Vue на одной странице. Они просто не могут перекрываться.
HTML:
<div class="col-md-4 col-sm-4" id="safeContactsFooter">
..some html stuff
<ul class="phone">
<li>Phone: <safe-contact type="phone" ></safe-contact></li>
</ul>
</div>
Vue модуль:
export default new Vue({
el: '#safeContactsFooter',
components : {
'safe-contact' : () => import('./components/Safe contact') ,
},
});
Тогда вы должны регистрировать модуль только при наличии div с правильным ID. В противном случае консоль будет кричать вам, что объект не существует. Я делаю это так:
if(document.getElementById("safeContactsFooter")){
import('../Safe contacts/Safe contacts footer.Module.js');
}