Vue's can be praised for many reasons but one of the most outstanding ones would be its scalability. You can use Vue simply for rendering a button or to create large scale applications.
All you need is to load vue.js and target the app element, using its id. Vue doesn't care what's outside that element (but can access the rest of the page, if required). You can even have multiple Vue instances on the same page.
Example:
<div id="contactForm">
<div v-text="limits" :style="appStyle"></div>
</div>
<p>You can have any html outside your vue app, it will display... normally.
</p>
<p>You can place your vue instance anywhere you want, as long as the element you instantiate it on exists in DOM when you try to instantiate it.
<p>And <code>vue.js</code> has to be loaded before you call the constructor. That's about it.</p>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script>
new Vue({
el: '#contactForm',
computed: {
limits(){ return 'There are no limits.' },
appStyle() { return {
color: 'red',
border: '1px solid #ddd'
}
}
}
});
</script>
#appcontainer and plug your contact form in there. You can still leave all ofindex.htmlintact.